function ct(t,e){e=e.sort((s,a)=>a-s);let i=e[0];return e.forEach(s=>{t{let s=new Image,a=()=>{e(s),setTimeout(()=>{typeof s.remove=="function"&&s.remove()},10)};"decode"in s&&!/\.svg/.test(t)?(s.src=t,s.decode().then(a).catch(i)):(s.onerror=i,s.onload=a,s.src=t)})}function Jt(t){if(typeof t!="string")return t;t=t.replace(/(\/img\/[\d_q]+)\/[\w-]+(\.\w{3,4})/i,"$1$2");let[,e,i,s,a]=t.match(/\/img\/(\d+)_?(\d+)?_?q?(\d+)?\.(\w{3,4})/i)||[];return{id:+e,ext:a,name:`${e}.${a}`,size:i?+i:0,quality:s?+s:null}}function ft(t,e){let i=e.avif_support,s=e.webp_support,a=e.avif,n=e.webp,o=t.ext;return i&&a?o="avif":s&&n?o="webp":t.ext==="webp"&&(s?o="webp":o=t.transparent?"png":"jpg"),o}function Qt(t,e=null,i=null){i={...pt(),...i};let{id:s,ext:a}=t;if(!s)return"";let n=i.maxSize||X;!e&&t.ext==="webp"&&!i.webp_support&&(e=Math.min(t.width||n,n));let o=t.animated??a==="gif",l=`/img/${s}.${a}`;if(!e||o||a==="svg")return l;let r=ft(t,i),d=i.slow_network&&mt(),c=i.quality_map;switch(d&&(c={jpg:50,webp:50,avif:45}),r){case"png":return`/img/${s}_${e}.png`;case"avif":case"webp":case"jpg":return`/img/${s}_${e}_q${c[r]}.${r}`;case"gif":break;default:return l}}function Zt(t){let e=String(t).match(/\.(jpg|jpeg|png|gif|svg|bmp|webp)$/i);return e?.[1]?e[1]:""}function te(t){return t!=="transparent"?t:"#000000"}function O(t){if(typeof t=="string"&&(t=Jt(t)),!t||typeof t!="object")return{};let e=t.img_ext||t.ext,i=t.img_id||t.id,s=t.img_name||t.name;(!e||e==="false")&&(e=s?Zt(s):"jpg");let a=t.img_border||t.border,n=te(t.img_average||t.average),o=t.img_preview||t.preview||"",l=t.img_width||t.width||0,r=t.img_height||t.height||0,d=+(+t.img_proportion||+t.proportion||0).toFixed(2),c=t.img_animated||t.animated||e==="gif",h=t.img_transparent||t.transparent||0;return{id:i,ext:e,average:n,preview:o,width:l,height:r,proportion:d,border:a,animated:c,transparent:h}}function A(t,e=0,i){return Qt(O(t),typeof e=="number"?Math.round(e):typeof e=="string"?parseInt(e,10):null,i)}async function J(t){let e=t,i=typeof t=="object"&&(+t.proportion||+t.img_proportion)||0;if(i&&(i<2||i<5&&i%1>0)&&(i*=100),typeof e=="string"||!i){typeof e=="object"&&(e=A(t,50));let s=await D(e);i=s.naturalHeight/s.naturalWidth*100}return i}function mt(){return typeof navigator>"u"?!1:(navigator.connection?.effectiveType||"4g")!=="4g"}async function I(t,e,i){i={...pt(),...i};let s=t.width||0,a=t.img_scale||t.scale||"cover",n=t.img_type||t.type||"background",o=e.height/e.width,l=await J(t)/100,r=i.slow_network&&mt()?Math.min(1.5,globalThis.devicePixelRatio):Math.min(2,globalThis.devicePixelRatio),d=ft(t,i),c,h;n==="image"||o>l&&a==="contain"||o1&&(c*=r,h*=r),i.sizes&&(c=ct(c,i.sizes),h=c*l);let f=i.minSize||ut,u=i.maxSize||X;return c<=f&&/webp|jpg/.test(d)&&(c=c/r*2,h=c*l),s&&c>s&&(c=s,h=c*l),c>u&&(c=u,h=c*l),{width:Math.ceil(c),height:Math.ceil(h)}}var Q=new WeakMap,ee=()=>Math.floor(Math.random()*999999999),gt=t=>{let{is:e,component:i}=t;return Q.has(i)||Q.set(i,ee()),`.component-${e}-${Q.get(i)}`},w=class{static is="";require=[];core=null;owner=null;root=null;component=null;$component=null;componentWidth=null;componentHeight=null;isInited=!1;isLoaded=!1;isUpdated=!1;isOpen=null;isVisible=null;inScreen=!1;inBeside=!1;inView=!1;inFocus=!1;wasVisible=null;wasScreen=!1;wasBeside=!1;wasView=!1;wasFocus=!1;get is(){return this.constructor.is}constructor({component:t,core:e,reason:i}){this.core=e,this.owner=e.area,this.root=e.root,this.component=t,this.$component=$(t),this.isUpdated=i==="update"}onInit(){}onLoad(){}onVisible(t){}onScreen(t){}onBeside(t){}onView(t){}onFocus(t){}onResize(t){}onOpen(t){}onClose(t){}onHideShowUI(t){}onDestroy(){}#t(){this._clearEvents();let t=gt(this);$(this.owner).on(`tween${t}`,e=>this.#e(e.detail)),$(this.root).on(`open${t}`,e=>this._onOpen(e.detail)),$(this.root).on(`close${t}`,e=>this._onClose(e.detail))}_clearEvents(){let t=gt(this);$(this.owner).off(t),$(this.root).off(t)}#e({force:t=!1}={}){let e=this.componentWidth==null||this.componentHeight==null,i=this.core.isVisible,s=i&&this.component.offsetWidth||0,a=i&&this.component.offsetHeight||0,n=!!(s||a),o=n&&this.core.inBeside,l=n&&this.core.inScreen,r=n&&this.core.inView,d=n&&this.core.inFocus,c=this.componentWidth!==s,h=this.componentHeight!==a,f=t||n&&!e&&(c||h);n&&(this.componentWidth=s,this.componentHeight=a),n!==this.isVisible&&this._onVisible({state:n}),f&&this._onResize({force:t}),o!==this.inBeside&&this._onBeside({state:o}),l!==this.inScreen&&this._onScreen({state:l}),r!==this.inView&&this._onView({state:r}),d!==this.inFocus&&this._onFocus({state:d})}_onInit(){this.isInited=!0,typeof this.onInit=="function"&&this.onInit(),this.#e(),this.#t(),flexbe_cli.require(this.require,()=>this._onLoad())}_onLoad(){this.isLoaded=!0,typeof this.onLoad=="function"&&this.onLoad(),this.require.length&&this.#e()}_onVisible({state:t}){if(this.isVisible==null){this.isVisible=t,this.wasVisible=t;return}let e=t&&!this.wasVisible;this.isVisible=t,this.onVisible({state:t,first:e}),t&&(this.wasVisible=!0)}_onScreen({state:t}){let e=t&&!this.wasScreen;this.inScreen=t,this.onScreen({state:t,first:e}),t&&(this.wasScreen=!0)}_onView({state:t}){let e=t&&!this.wasView;this.inView=t,this.onView({state:t,first:e}),t&&(this.wasView=!0)}_onBeside({state:t}){let e=t&&!this.wasBeside;this.inBeside=t,this.onBeside({state:t,first:e}),t&&(this.wasBeside=!0)}_onFocus({state:t}){let e=t&&!this.wasFocus;this.inFocus=t,this.onFocus({state:t,first:e}),t&&(this.wasFocus=!0)}_onResize(t){this.onResize(t)}_onOpen(t){this.isOpen=!0,this.#e(),this.onOpen(t)}_onClose(t){this.isOpen=!1,this.#e(),this.onClose(t)}_onWindowResize(){this.onWindowResize&&(this.#e(),this.onWindowResize())}_onHideShowUI(t){this.onHideShowUI(t)}destroy(){this._clearEvents(),this.onDestroy()}};var E={},q=class extends w{static is="image";isImgLoaded=!1;params=null;constructor(t){super(t),this.imageLoadingOptions=flexbe_cli.vars.site.images,this.lazyLoad=this.component.hasAttribute("data-img-lazy"),this.autoLoad=this.component.hasAttribute("data-img-autoload"),this.hasImagePlaceholder=this.component.hasAttribute("data-has-placeholder"),this.imageLayer=this.$component.find(".component-image__image").get(0)||this.component,this.overlayLayer=this.$component.find(".component-image__scroll").get(0)}async onInit(){this.autoLoad&&!this.lazyLoad&&await this.loadImage(),this.$component.off(".componentImage"),this.$component.on("setImage.componentImage",$.debounce(async t=>{t.detail?.reason==="lazyPriority"&&!this.autoLoad||(this.autoLoad=!0,this.lazyLoad=!0,this.isVisible&&!this.isImgLoading&&!this.isImgLoaded&&await this.loadImage())},10))}async onBeside({state:t}){if(!t)return!1;!this.isImgLoaded&&this.autoLoad&&await this.loadImage()}async onResize(){this.isImgLoaded&&this.autoLoad&&(clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout(()=>this.loadImage(!0),1e3))}onHideShowUI(t){t==="generation"&&requestAnimationFrame(()=>{this.component&&this.params?.position&&(this.component.style.setProperty("--imagePositionX",this.params.position.x),this.component.style.setProperty("--imagePositionY",this.params.position.y))})}async loadImage(t=!1){if(this.setParams(),!t&&(this.isImgLoaded||this.isImgLoading))return;this.setOverlay();let e,i=this.params;i.original_resolution||(e=await this.getOptimalSize(),e&&E[this.params.id].sizes&&!E[this.params.id].sizes.includes(e)&&E[this.params.id].sizes.push(e)),this.isImgLoading=!0;let s=A(i,e,this.imageLoadingOptions);if(this.hasImagePlaceholder&&s)try{await D(s)}catch(a){console.error("Image preload error",a);return}this.setImage(s),this.isImgLoading=!1}async getOptimalSize(){let t=this.params,e=await J(t);t.proportion=e,E[this.params.id]&&(E[this.params.id].params.proportion=e);let i=this.componentWidth||this.component.offsetWidth,s=this.componentHeight||this.component.offsetHeight,{width:a}=await I(this.params,{width:i,height:s},this.imageLoadingOptions),n=a-2,o=Math.max(50,a*1.2);return a=this.getClosestSize(a,n,o),a}setImage(t){let{$component:e,params:i}=this;t&&(i.type==="image"?this.imageLayer.src=t:i.type==="background"&&(this.imageLayer.style.backgroundImage=`url(${t})`),this.isImgLoaded||(e.removeClass("loading"),this.isImgLoaded=!0),e.trigger("load"))}setOverlay(){let{overlayLayer:t,componentWidth:e,componentHeight:i}=this;if(!t)return;let s="medium";e<=200||i<=150?s="xsmall":e<=400||i<=250?s="small":e>=650&&i>=400&&(s="large"),t.setAttribute("data-size",s),t.getAttribute("data-type")==="hover"&&$(t).on("pointerenter pointerleave",a=>{let n=a.type==="pointerenter";$(t).toggleClass("hover",n)})}setParams(){if(this.params)return;let t=this.component,e=$(t),i={},s=e.attr("data-img-id");if(E[s]?.params)i={...E[s].params};else if(i.id=s,i.ext=e.attr("data-img-ext"),i.proportion=+e.attr("data-img-proportion"),i.position={x:e.attr("data-img-x")||"50%",y:e.attr("data-img-y")||"50%"},!i.ext){let a=(e.attr("data-img-name")||"image.jpg").match(/\.(\D{2,4})$/i)||[];a[1]&&i.ext!==a[1]&&(i.ext=a[1]||!1)}i.type=e.attr("data-img-type"),i.action=e.attr("data-action"),i.proportion||(i.proportion=100),i.scale=e.attr("data-img-scale")||"cover",i.original_resolution=t.hasAttribute("data-img-original"),E[i.id]||(E[i.id]={params:{...i},sizes:[]}),i.animated=t.hasAttribute("data-img-animated"),i.transparent=t.hasAttribute("data-img-transparent"),this.params=i}getClosestSize(t,e=t,i=t+10){let s=E[this.params.id].sizes||[],a,n=1/0;return s.forEach(o=>{let l=Math.abs(o-t);o>=e&&o<=i&&l1&&(x[this.id]=x[this.id].slice(0,1)),x[this.id].forEach(t=>{let e=t&&this.$list.find(`[uid="${t}"]`);e.length&&this.toggleSpoiler({$item:e,state:!0,duration:0,force:!0})})):x[this.id]=[],this.bindEvents()},bindEvents(){if(!this.isSpoilered)return!1;let t=".clickable",e;this.$list.on("mousedown",t,i=>{if(!flexbe_cli.run.is_preview&&$(i.target).closest(".element-text, .component-image, .editor-simple-handle").length){e=!1;return}if($(i.target).closest(".not-clickable").length){e=!1;return}e={target:i.currentTarget,x:i.screenX,y:i.screenY}}),this.$list.on("mouseup",t,i=>{!e||e.target!==i.currentTarget||!flexbe_cli.run.is_preview&&$(i.target).closest(".element-text").length||(Math.sqrt((e.x-i.screenX)**2+(e.y-i.screenY)**2)<5&&this.toggleSpoiler({$item:$(i.currentTarget)}),e=!1)})},toggleSpoiler({$item:t,state:e,force:i,duration:s}){let a=0,n=t.attr("uid");typeof e>"u"&&(e=t.attr("data-expanded")!=="true"),e?x[this.id].find(h=>h===n)||x[this.id].push(n):x[this.id]=x[this.id].filter(h=>h!==n);let o=t.find(".collapsed");if(o[0].inAnimation&&!i)return;o[0].inAnimation=!0;let l=t.find(".spoiler-text"),r=l.find(".spoiler-text-content"),d=o[0].scrollHeight,c=typeof s=="number"?s:Math.max(250,Math.min(400,d*3));e&&(a=(l.height()-r.innerHeight())/2,a<10&&r.css("margin",`${a}px 0`)),o.off("transitionend").one("transitionend",()=>{o.css("height","").toggleClass("collapsed--auto",e),o[0].inAnimation=!1}),o.css({height:`${d}px`,transitionDuration:`${c}ms`}),o[0].offsetHeight,o.toggleClass("collapsed--show",e).attr("aria-expanded",e).attr("aria-hidden",!e),e||o.css("height","0"),t.attr("data-expanded",e),this.isAccordion&&e&&t.siblings("[data-expanded=true]").each((h,f)=>this.toggleSpoiler({$item:$(f),state:!1,force:!0}))}});flexbe_cli.entity.setClientJs("element","text01",{isPure:!0});var ni=Object.freeze({value:"fill",title:"FILL",auto:!0,selectValue:"fill"}),oi=Object.freeze({value:"auto",title:"AUTO",auto:!0,selectValue:"auto"}),ri=Object.freeze({value:"auto",title:"HUG",auto:!0,selectValue:"auto"}),li=Object.freeze({value:"px",title:"PX",step:1,altStep:5}),di=Object.freeze({value:"pt",title:"PT",step:1,altStep:.1}),ci=Object.freeze({value:"em",title:"EM",step:.1,altStep:.01}),hi=Object.freeze({value:"rem",title:"REM",step:.1,altStep:.01}),ui=Object.freeze({value:"vh",title:"VH",step:1,altStep:.1,tip:typeof tr=="function"&&tr("editor::units::vh_tip")}),pi=Object.freeze({value:"vw",title:"VW",step:1,altStep:.1,tip:typeof tr=="function"&&tr("editor::units::vw_tip")}),fi=Object.freeze({value:"cqw",title:"CQW",step:1,altStep:.1}),mi=Object.freeze({value:"cqw",title:"CQH",step:1,altStep:.1}),gi=Object.freeze({value:"ch",title:"CH",step:1,altStep:5,tip:typeof tr=="function"&&tr("editor::units::ch_tip")}),vi=Object.freeze({value:"%",title:"%",step:1,altStep:.1});function vt(t,e,i=1){let s=t.getBoundingClientRect();return{x:(e.clientX-s.left)/i,y:(e.clientY-s.top)/i}}var H=class extends w{static is="backgroundElement";constructor(...t){super(...t),this.$glareElement=this.$component.find("> .bg-glare-hover").eq(0),this.$bgElement=this.$component.find(".bg-fill").eq(0),this.$hoverElement=this.$component.find(".bg-fill-hover").eq(0),this.lazy=this.$bgElement.data("img-lazy"),this.isImgLoaded=this.$bgElement.data("img-loaded"),this.bgType=this.$bgElement.data("type"),this.hoverType=this.$hoverElement.data("hover-type"),this.hasImagePlaceholder=!!this.$bgElement.data("img-has-placeholder"),this.imageLoadingOptions=flexbe_cli.vars.site.images}async onInit(){this.$bgElement.on("setImage",async()=>{this.isVisible&&!this.isImgLoading&&!this.isImgLoaded&&(this.setImageParams(),await this.loadImage())}),this.$glareElement.length&&this.$component.off("mousemove.bg-glare").on("mousemove.bg-glare",t=>{let{x:e,y:i}=vt(this.$component[0],t);this.$glareElement.css({"--bgGlareX":`${e}px`,"--bgGlareY":`${i}px`})})}async onBeside({state:t,first:e}){t&&e&&(this.lazy&&this.bgType==="image"&&!this.isImgLoaded&&(this.setImageParams(),await this.loadImage()),this.hoverType==="image"&&(this.setHoverImageParams(),await this.loadHoverImage()),this.dispatchEffects())}onWindowResize(){this.dispatchEffects()}getComponentSize(){return{width:this.componentWidth,height:this.componentHeight}}dispatchEffects(){let t=flexbe_cli.resize.responsiveMode==="mobile",e=this.$component.hasClass("hover-trigger"),i=this.$component.hasClass("hover-trigger-am"),s=t?i:e;this.$component.toggleClass("js-hover",s)}async loadImage(){this.isImgLoading=!0;let t=0;if(!this.image.original){let{width:i}=await I(this.image,this.getComponentSize(),this.imageLoadingOptions);t=i}let e=A(this.image,t,this.imageLoadingOptions);this.hasImagePlaceholder&&await D(e),this.setImage(this.$bgElement,e),this.isImgLoading=!1,this.isImgLoaded=!0}async loadHoverImage(){let t=0;if(!this.hoverImage.original){let{width:i}=await I(this.hoverImage,this.getComponentSize(),this.imageLoadingOptions);t=i}let e=A(this.hoverImage,t,this.imageLoadingOptions);this.setImage(this.$hoverElement,e)}setImage(t,e){t.css("background-image",`url(${e})`),this.$component.find(".bg-preview").eq(0).addClass("invisible")}setImageParams(){let{$bgElement:t}=this;this.image={id:t.data("img-id"),ext:t.data("img-ext"),width:t.data("img-width"),animated:t.data("img-animated"),transparent:t.data("img-transparent"),proportion:t.data("img-proportion"),original:t.is("[data-img-original]"),type:"background",scale:"cover"}}setHoverImageParams(){let{$hoverElement:t}=this;this.hoverImage={id:t.data("img-id"),ext:t.data("img-ext"),width:t.data("img-width"),animated:t.data("img-animated"),transparent:t.data("img-transparent"),proportion:t.data("img-proportion"),original:t.is("[data-img-original]"),type:"background",scale:"cover"}}};flexbe_cli.entity.setClientJs("element","zone",{components:[H],onInit(){this.setMeta()},onUpdate(){this.setMeta()},setMeta(){let t=this.lastViewport,e=this.hideHidden;this.lastViewport=flexbe_cli.resize.viewportWidth,this.hideHidden=flexbe_cli.is_admin&&$("body").hasClass("hide-hidden"),this.needFixOrder=this.needFixOrder||this.lastViewport!==t||this.hideHidden!==e},onResize(){this.inScreen&&this.isVisible&&this.fixElementOrder()},fixElementOrder(){if(this.setMeta(),!this.needFixOrder)return;this.needFixOrder=!1;let t=this.$area.find(".elements-list");t.find("[data-hidden]").length&&t.each((e,i)=>{let s=$(i).find(".element-item--static"),a=s.filter(":visible");s.removeClass("is-first-child is-last-child"),a.first().addClass("is-first-child"),a.last().addClass("is-last-child")})}});var F=(t,e=0)=>(...i)=>new Promise(s=>{setTimeout(()=>s(t(...i)),e)}),ie=(t,e=0)=>flexbe_cli.is_admin?t:F(t,e),tt=(t,e=0,...i)=>F(t,e)(...i),bt=(t,e=0,...i)=>ie(t,e)(...i),Z=Symbol("ref"),$t="detached";function wt(t){let e=flexbe_cli.resize.responsiveMode;$(t).find(`[data-hidden="all"], [data-hidden="${e}"]`).toArray().forEach(i=>{let s=$(``)[0];s[Z]=i,$(i).before(s).detach()})}function yt(t){let e=document.createNodeIterator(t,NodeFilter.SHOW_COMMENT),i=[];for(;e.nextNode();){let s=e.referenceNode;s.textContent===$t&&s[Z]&&i.push(s)}i.forEach(s=>{let a=s[Z];s.parentNode.replaceChild(a,s)})}function T(t,e,i,s={}){let a=$(t),n=e?`[data-component="${e}"]`:"[data-component]";a.is(n)&&a.trigger(i,s),$(t).find(n).each((o,l)=>{$(l).trigger(i,s)})}function B(t=[]){t.forEach(F(e=>{T(e,"image","setImage")}))}function W(t){t.params.virtualTranslate=!0,t.params.cssMode=!1,t.params.slidesPerGroup=1,t.params.spaceBetween=0,t.on("init",F(()=>{$(t.el).addClass("swiper-effect-fade")})),t.on("setTranslate",(e,i)=>{let{slides:s,size:a,slidesSizesGrid:n}=e;if(e.params.effect!=="fade"||Number.isNaN(i))return;$(e.wrapperEl).css("transform","");for(let l=0;lc+h,0)+i)/n[l];r.css({left:`-${l*100}%`,opacity:Math.min(Math.max(1-Math.abs(d),0),1)})}let o=!1;e.slides.transitionEnd(()=>{o||!e||e.destroyed||(o=!0,e.animating=!1,$(e.wrapperEl).trigger("transitionend"))})})}var se=class{constructor(t,e){e={init:!0,targets:"span",...e},this.options=e,this.pagination=t,this.tag=this.options.tag,this.filled=!1,this.states=["hidden","prev-prev","prev","main","next","next-next","hidden"],this.init()}init(){this.bindEvents(),this.options.init&&this.render({states:this.states,force:!0})}bindEvents(){let{tag:t,pagination:e,options:i}=this,s=$(e);typeof i.onClick=="function"&&s.off("click").on("click",t,a=>{let n=$(a.currentTarget),o=+n.siblings('[data-state="main"]').attr("data-index"),l=+n.attr("data-index")-o;i.onClick(l)})}move(t){let e=this.states,i=this.filled&&t;if(!(i&&this.inAnimate===t)&&(this.render({states:e,force:!0}),i)){let s=e.map((a,n)=>e[n+(t==="prev"?1:-1)]||"hidden");this.inAnimate=t,clearTimeout(this._anim),this._anim=setTimeout(()=>{this.inAnimate=!1},200),requestAnimationFrame(()=>{this.render({states:s})})}}render({states:t,force:e}={}){let i=$(this.pagination),s=this.tag;if(this.filled=!0,e){let a=t.reduce(n=>`${n}<${s}>`,"");i.html(a)}i.addClass("swiper-pagination-bullets-dynamic"),i.find(s).each((a,n)=>{let o=$(n),l=t[a]||"hidden",r=["swiper-pagination-bullet"];l==="main"&&r.push("swiper-pagination-bullet-active"),l==="hidden"?r.push("swiper-pagination-bullet-hidden"):r.push(`swiper-pagination-bullet-active-${l}`),o.attr("class",r.join(" ")),o.attr("data-state",l),o.attr("data-index",a)})}};function ae(t){t.params.virtualTranslate=!0,t.params.cssMode=!1,t.on("init",F(()=>{$(t.el).addClass("swiper-effect-slide")})),t.on("setTranslate",(e,i)=>{if(e.params.effect!=="slide"||Number.isNaN(i))return;let s=$(e.wrapperEl),a=$(e.slides),n=e.isHorizontal(),o=n?i:0,l=n?0:i;flexbe_cli.is_admin?s.css({position:"relative",top:`${l}px`,left:`${o}px`,transform:""}):s.css({transform:`translate3d(${o}px, ${l}px, 0px)`}),a.css({opacity:"",transform:""})})}var et={},Ct=class extends w{static is="cards";constructor(...t){super(...t);let{component:e,$component:i}=this;if(this.id=this.core.id,this.mode=e.getAttribute("data-mode"),this.mode==="slider"){this.require=["/_s/lib/swiper8/dist/swiper-bundle.min.js?v847"],this.$cardsRoot=i.closest(".flexbe-cards-root"),this.$slider=this.$cardsRoot.find(".swiper"),this.$pagination=this.$cardsRoot.find(".slider-pagination--cards"),this.$navigation=this.$cardsRoot.find(".slider-button--cards"),this.$swiperHelper=this.$cardsRoot.find(".swiper-mobile-helper"),this.$flexbeCardsSlider=this.$cardsRoot.find(".flexbe-cards-slider"),this.$flexbeCards=this.$cardsRoot.find(".flexbe-cards"),this.$flexbeCard=this.$cardsRoot.find(".flexbe-card"),this.sliderResponsive=this.$slider.attr("data-slider-responsive-mode");let s;this.$slider.on("bringIntoView",a=>{let n=this.swiper,o=$(a.target).closest(this.$flexbeCard)[0],l=this.$flexbeCard.index(o);s!==l&&(s=l,n?l!==-1&&n.slideTo(l):et[this.id]=l)})}}onLoad(){this.sliderDisposer(),this.core.inView&&this.initSwipeAnimation()}onBeside({state:t}){t&&this.sliderDisposer()}onScreen({state:t}){t?this.sliderDisposer():this.destroySwipeAnimation()}onView({state:t}){t&&!this.wasView&&this.swiper&&this.swiper.inited&&(this.swiper.update(),this.checkSlidesVisibility(),this.checkNavigationState()),this.toggleAutoplay(t),t&&this.isLoaded&&this.initSwipeAnimation()}onResize(){if(this.sliderDisposer(),this.swiper){let t=this.getViewportSpecificSettings();this.settings={...this.settings,...t},this.swiper.params={...this.swiper.params,...t},setTimeout(()=>{this.swiper.update(),this.checkSlidesVisibility()},10)}}onHideShowUI(){this.destroySlider(),this.initSlider()}sliderDisposer(){if(this.mode!=="slider"||!this.isLoaded||!this.core.isVisible)return;this.responsiveMode=flexbe_cli.resize.responsiveMode;let t=flexbe_cli.resize.responsiveMode==="mobile",e=this.sliderResponsive,i=t?e!=="desktop":e!=="mobile";this.$cardsRoot.toggleClass("slider-enabled",i).toggleClass("slider-disabled",!i),this.$flexbeCards.toggleClass("slider-wrapper",i),i&&!this.swiper?this.initSlider():!i&&this.swiper&&this.destroySlider()}initSlider(){if(!(this.mode!=="slider"||this.swiper||typeof Swiper>"u"))try{this.savePropsFromAttributes(),this.createSwiperSettings(),this.createSwiperInstance(),this.createSwiperNavigation(),this.createSwiperLoopPagination(),this.createSwiperEditorFixes(),tt(()=>{this.swiper.init(),tt(()=>this.toggleAutoplay(this.core.inView))})}catch(t){console.warn(t)}}destroySlider(){this.mode==="slider"&&(this.swiper&&this.swiper.destroy(),this.swiper=null,this.$cardsRoot.removeClass("slider-inited slider-enabled"),this.$cardsRoot.addClass("slider-disabled"),this.$flexbeCardsSlider.removeClass("swiper-active"),this.$flexbeCards.removeClass("swiper-wrapper"),this.$flexbeCard.removeClass("swiper-slide-hidden"))}initSwipeAnimation(){this.mode==="slider"&&flexbe_cli.resize.responsiveMode==="mobile"&&this.sliderResponsive!=="desktop"&&!this.$swiperHelper.hasClass("show")&&setTimeout(()=>{this.core.inView&&(this.$swiperHelper.addClass("show"),this.swiper.once("sliderMove",()=>{this.destroySwipeAnimation()}))},500)}destroySwipeAnimation(){this.mode==="slider"&&this.$swiperHelper.hasClass("show")&&this.$swiperHelper.removeClass("show")}savePropsFromAttributes(){this.props={totalSlides:+this.$slider.attr("data-count"),isOverflow:+this.$slider.attr("data-overflow"),autoplayDelay:flexbe_cli.run.is_preview&&Math.floor(+this.$slider.attr("data-autoplay")*1e3)||0,pagination:this.$pagination.attr("data-type")||!1,loop:flexbe_cli.run.is_preview&&!!+this.$slider.attr("data-loop"),effectDesktop:this.$slider.attr("data-effect"),effectMobile:this.$slider.attr("data-effect-mobile"),inRowDesktop:+this.$slider.attr("data-cards"),inRowMobile:+this.$slider.attr("data-cards-mobile")||1}}createSwiperSettings(){let t=this.getViewportSpecificSettings(),{totalSlides:e,isOverflow:i,autoplayDelay:s,pagination:a}=this.props,n=e<=t.slidesPerView?!1:this.props.loop,o=Math.max(0,Math.min(e-1,et[this.id]||0));if(this.freeSlides=0,n&&!i){let l=this.$slider[0].offsetWidth,r=l/t.slidesPerView,d=(flexbe_cli.resize.viewportWidth-l)/2;this.freeSlides=Math.ceil(d/r)}this.settings={autoHeight:this.$slider.find(".align-items-stretch").length===0,preloadImages:!1,allowClick:!0,preventClicks:!1,preventClicksPropagation:!1,touchStartPreventDefault:!1,touchMoveStopPropagation:!1,preventInteractionOnTransition:!1,loopPreventsSlide:!1,simulateTouch:!flexbe_cli.run.isTouch&&flexbe_cli.run.is_preview,longSwipesRatio:.1,longSwipesMs:100,initialSlide:o,loop:n,autoplay:s?{delay:s,stopOnLastSlide:!n,disableOnInteraction:!0,waitForTransition:!0}:!1,navigation:{},pagination:{clickable:!0,type:n&&a==="bullets"?"custom":a,el:this.$pagination[0],dynamicBullets:this.$flexbeCard.length>7,dynamicMainBullets:t.slidesPerView,renderCustom:()=>{},formatFractionCurrent:()=>this.getGroupIndex()+1,formatFractionTotal:()=>Math.ceil(this.props.totalSlides/this.swiper.params.slidesPerView)},watchSlidesProgress:!0,loopedSlides:t.slidesPerView+this.freeSlides,...t}}getViewportSpecificSettings(){let t=flexbe_cli.resize.responsiveMode==="mobile",e=t?this.props.inRowMobile:this.props.inRowDesktop,i=t?this.props.effectMobile:this.props.effectDesktop;return e>1&&(i="slide"),{effect:i,speed:flexbe_cli.run.is_preview&&i==="fade"?450:300,slidesPerView:e}}createSwiperInstance(){this.swiper&&(this.swiper.destroy(),this.swiper=null);let t=!1,e,i=new Swiper(this.$slider[0],{init:!1,wrapperClass:"flexbe-cards",slideClass:"flexbe-card",...this.settings});i.params.effect==="fade"?W(i):ae(i);let s=()=>{t||(t=!0,this.$cardsRoot.addClass("slider-inited"),this.$slider.addClass("swiper-inited"));let d=this.props.totalSlides>i.params.slidesPerView;e!==d&&(e=d,this.$cardsRoot.toggleClass("slider-enabled",d),this.$cardsRoot.toggleClass("slider-disabled",!d),this.$slider.toggleClass("swiper-active",d),i.update())},a=()=>{if(i.loopedSlides){let d=$(i.slides).filter(`.${i.params.slideDuplicateClass}`),c={};d.each((h,f)=>{let u=$(f),p=u.attr("data-swiper-slide-index"),g=$(i.slides).eq(i.loopedSlides+ +p);c[p]=c[p]?c[p]+1:1,u.attr("data-cloned",c[p]);let m=g.find("[data-action]"),b=u.find("[data-action]");m.each((C,P)=>{let v=$(P).data();b.eq(C).data(v)})}),flexbe_cli.entity.initArea(d)}},n=()=>{if(i.params.autoHeight){let d=new ResizeObserver(()=>{i.updateAutoHeight()});i.slides.forEach(c=>d.observe(c)),i.on("destroy",()=>{d.disconnect()}),i.on("slideChange",()=>{i.updateAutoHeight()})}};flexbe_cli.is_admin||(i.on("beforeInit",()=>{wt(this.swiper.el)}),i.on("destroy",()=>{yt(this.swiper.el)})),i.onAny((d,c)=>{i.el.dispatchEvent(new CustomEvent(`swiper:${d}`,{detail:c,bubbles:!1,cancelable:!0}))}),i.on("init",F(()=>{s(),a(),n(),this.checkSlidesVisibility()})),i.on("slideChange",F(()=>{this.checkSlidesVisibility()})),i.on("resize",$.debounce(()=>{this.swiper&&(s(),this.checkSlidesVisibility())},50));let o=!1,l=()=>{this.$cardsRoot.addClass("swiper-in-interacting"),this.checkSlidesVisibility()},r=()=>{this.$cardsRoot.removeClass("swiper-in-interacting"),this.checkSlidesVisibility()};i.on("sliderFirstMove",()=>{o=!0,l()}),i.on("touchEnd",()=>{o=!1,r()}),i.on("transitionStart",()=>{o||l()}),i.on("transitionEnd",()=>{o||r(),i.realIndex+i.loopedSlides!==i.activeIndex&&i.loopFix()}),this.$slider.on("reduceSliderControls",(d,{state:c=!0})=>{this.preventAutoplay=!!c,this.preventAutoplay&&this.toggleAutoplay({state:!1}),this.$cardsRoot.toggleClass("swiper-reduce-controls",!!c)}),this.$slider.on("preventSliderMove",(d,{state:c=!0})=>{i.allowTouchMove=!c}),this.swiper=i}createSwiperNavigation(){let t=this.swiper;t.on("init",()=>{this.checkNavigationState()}),t.on("resize",$.debounce(()=>{this.swiper&&this.checkNavigationState()},50)),t.on("slideChange",()=>{this._skipSlide||this.checkNavigationState()}),this.$navigation.on("click",e=>{let i=e.currentTarget.getAttribute("data-direction");this[i==="prev"?"prevSlide":"nextSlide"]()}),this.$slider.on("click.swiper-hidden",".swiper-slide-hidden",e=>{e.preventDefault(),e.stopPropagation();let i=this.swiper;if(i.animating)return;let s=e.currentTarget,a=Array.from(i.slides||[]).findIndex(r=>r===s),n=i.activeIndex,o=n-a,l=a-(n+i.params.slidesPerView-1);o>0?this.prevSlide(o):l>0&&this.nextSlide(l)})}createSwiperLoopPagination(){let t=this.swiper,e=!1;t.on("paginationRender",()=>{if(this.$pagination.toggleClass("disabled",this.props.totalSlides<=t.params.slidesPerView),this._skipSlide||t.params.pagination.type!=="custom")return;this.customPagination||(this.customPagination=new se(this.$pagination[0],{init:!1,tag:"span",onClick:o=>{o<0?this.prevSlide():o>0&&this.nextSlide()}}));let i=t.previousIndex,s=t.activeIndex,a=this.props.totalSlides,n=i{et[this.id]=t.realIndex})}checkSlidesVisibility(){let t=this.swiper;t.updateSlides();let e=$(t.slides),i=e.slice(t.activeIndex,t.activeIndex+t.params.slidesPerView),s=e.not(i);s.removeClass("swiper-slide-visible").addClass("swiper-slide-hidden"),i.removeClass("swiper-slide-hidden").addClass("swiper-slide-visible"),T(s,!1,"sliderDeactivate"),T(i,!1,"sliderActivate")}checkNavigationState(){let t=this.swiper,e=t.params.navigation.disabledClass,i=this.$navigation,s=i.eq(0),a=i.eq(1),{isBeginning:n,isEnd:o}=t;t.loopedSlides&&(n=!1,o=!1),i.toggleClass("disabled",this.props.totalSlides<=t.params.slidesPerView),s.toggleClass(e,n),a.toggleClass(e,o)}getGroupIndex(t,e,i=!0){let s=this.swiper;t==null&&(t=s.realIndex),e||(e=s.params.slidesPerView||1),i&&(s.loopedSlides||e<=1)&&(i=!1);let a=Math.ceil(this.props.totalSlides/e),n=Math.floor(t/e);if(i){let o=n*e,l=o+e-1,r=t-o>l-t,d=t%e!==0&&t+e>=this.props.totalSlides;(r||d)&&(n+=1)}return Math.max(0,Math.min(a,n))}getSlideIndex(t,e){return e==null&&(e=this.swiper.params.slidesPerView||1),t*e}toSlide(t,e){let i=this.swiper,s=this.getSlideIndex(t,e);return i.loopedSlides?i.slideToLoop(s):i.slideTo(s)}prevSlide(t){let e,i=this.swiper;t?t=Math.abs(t):t=1;let s=i.activeIndex;if(i.loopedSlides){let a=s,n=this.props.isOverflow?t:t+this.freeSlides;s+this.props.totalSlides<=i.slides.length&&!(a>=n)&&(this.toggleSkip(!0),i.slideTo(s+this.props.totalSlides,0)),e=i.activeIndex-t}else e=i.activeIndex-t;setTimeout(()=>{this.toggleSkip(!1),i.slideTo(e)},5)}nextSlide(t){let e,i=this.swiper,s=i.params.slidesPerView;t?t=Math.abs(t):t=1;let a=i.activeIndex,n=a+s-1;if(i.loopedSlides){let o=i.slides.length-n-1,l=this.props.isOverflow?t:t+this.freeSlides;a-this.props.totalSlides>=0&&!(o>=l)&&(this.toggleSkip(!0),i.slideTo(a-this.props.totalSlides,0)),e=i.activeIndex+t}else e=i.activeIndex+t;setTimeout(()=>{this.toggleSkip(!1),i.slideTo(e)},5)}toggleSkip(t=!this._skipSlide){this._skipSlide=!!t,this.$slider.toggleClass("noanimate",this._skipSlide)}toggleAutoplay(t){if(!this.swiper)return;this.preventAutoplay&&(t=!1);let e=this.swiper,i=e.autoplay,s=e.params.autoplay||{};!i||!s.enabled||(t&&!i.running?i.start():t||i.stop())}};flexbe_cli.entity.setClientJs("element","zone_cards",{components:[Ct],onUpdate(t){t.originId===t.id&&this.fixSwiper(t)},fixSwiper(t={}){clearTimeout(this._changeTimer);let e=flexbe_cli.components.getInstances(this.area).filter(s=>s.is==="cards")?.[0],i=e&&e.swiper;if(!i)return!1;if(document.body.contains(i.el)){if(t&&t.reason==="items_add"){let s=i.realIndex,a=t.reasonData.to,n=s;s+i.params.slidesPerView<=a&&(n=a-i.params.slidesPerView+1),n!==s&&(this._changeTimer=setTimeout(()=>i.slideTo(n),30))}t.styleRendered&&!t.templateRendered&&requestAnimationFrame(()=>i.$el&&i.update(!1))}else this._changeTimer=setTimeout(()=>this.fixSwiper(t),16)}});flexbe_cli.entity.setClientJs("element","zone_grid",{isPure:!0});function k(t,e,i){let s;return typeof e=="function"&&typeof t=="function"&&(t()?e():(i&&setTimeout(()=>{clearInterval(s),e()},i),s=setInterval(()=>{t()&&(clearInterval(s),e())},25))),()=>clearInterval(s)}function _t(t,e,i=1){return 1-t>i&&(t=i),(1-Math.cos(Math.PI*t*e))/2}var ne=[0,"parallax","parallax-fade","zoom","zoom-return"],oe=class{imgParams={w:0,h:0,r:1,x:.5,y:.5};canvasSize={w:0,h:0,y:0};winSize={w:0,h:0};overlayOpacity=1;constructor(t,e,i="parallax",s=null){this.id=t,this.shouldRender=!1,this.mode=typeof i=="number"?ne[i]:i,this.fadeAnimation=this.mode.includes("fade"),this.parallaxFactor=this.mode.includes("fixed")?1:this.mode.includes("parallax")?.4:0,this.zoomFactor=this.mode.includes("zoom")?.2:0,this.zoomLimit=this.mode==="zoom"?.5:this.mode==="zoom-return"?1:0,this.offCanvas=document.createElement("canvas"),this.offCtx=this.offCanvas.getContext("2d",{alpha:!1}),this.component=e[0],this.canvas=this.component.querySelector("canvas"),this.overlay=this.component.querySelector(".overlay"),this.ctx=this.canvas.getContext("2d",{alpha:!1}),this.init(s),this.reflow()}init(t){!t||!t.url||(this.img=document.createElement("img"),this.img.onload=()=>{this.ready=!0,this.imgParams={w:this.img.width,h:this.img.height,r:this.img.height/this.img.width,x:+t.x.replace("%","")/100,y:+t.y.replace("%","")/100},this.dispatchEvents(),this.draw(),requestAnimationFrame(()=>{$(this.canvas).addClass("ready")})},this.img.src=t.url)}dispatchEvents(){flexbe_cli.events.off(`.bg_${this.id}`),$(window).off(`.bg_${this.id}`),$(window).on(`scroll.bg_${this.id}`,()=>{this.draw()}),$(window).on(`resize.bg_${this.id}`,()=>{this.reflow()}),flexbe_cli.is_admin&&(flexbe_cli.events.on(`entity_render:style.bg_${this.id}`,t=>{t.id===this.id&&this.reflow()}),flexbe_cli.events.on(`layout_change.bg_${this.id}`,()=>{this.reflow()}))}toggleRendering(t){this.shouldRender=t}getZoomCoords(t){let e=1;if(this.zoomFactor){let s=100-_t(t*.01,2,this.zoomLimit)*100;e=1+this.zoomFactor/100*s}let i={w:0,h:0,x:0,y:0};return i.w=this.canvasSize.w*e,i.h=this.canvasSize.h*e,i.x=(i.w-this.canvas.width)/2,i.y=(i.h-this.canvasSize.h)/2,i}reflow(){let t=this.canvas.getBoundingClientRect();this.canvasSize={w:t.width,h:t.height,y:t.top+window.pageYOffset};let{viewportWidth:e,viewportHeight:i}=flexbe_cli.resize;this.winSize.h=flexbe_cli.run.is_mobile?Math.max(this.winSize.h,i):i,this.winSize.w=e,this.fadeAnimation&&(this.overlayOpacity=parseFloat(getComputedStyle(this.component).getPropertyValue("--componentBgOpacity")||1)),this.draw()}draw(){if(!this.shouldRender||!this.ready||this.pending)return;this.pending=!0;let t=flexbe_cli.scroll.latest+this.winSize.h-this.canvasSize.y,e=100-t/(this.canvasSize.h+this.winSize.h)*100;this.drawOffscreen(),this.drawCanvas(t,e),this.drawOverlay(e),this.pending=!1}drawOffscreen(){let{canvasSize:t,zoomFactor:e,winSize:i,parallaxFactor:s,imgParams:a,offCanvas:n,offCtx:o,img:l}=this,r=e?t.h:t.h+(i.h-t.h)*s,d=t.w,c=d,h=d*a.r,f=0,u=(h-r)*a.y*-1;r/d>a.r&&(c=r/a.r,h=r,f=(c-d)*a.x*-1,u=0),n.width!==d&&(n.width=d),n.height!==r&&(n.height=r),o.drawImage(l,f,u,c,h)}drawCanvas(t,e){if(this.canvas.width!==this.canvasSize.w&&(this.canvas.width=this.canvasSize.w),this.canvas.height!==this.canvasSize.h&&(this.canvas.height=this.canvasSize.h),this.zoomFactor){let i=this.getZoomCoords(e);try{this.ctx.drawImage(this.offCanvas,Math.ceil(i.x*-1),Math.ceil(t*this.parallaxFactor-this.winSize.h*this.parallaxFactor-i.y),i.w,i.h)}catch{}}else try{this.ctx.drawImage(this.offCanvas,0,Math.ceil((t-this.winSize.h)*this.parallaxFactor))}catch{}}drawOverlay(t){if(this.fadeAnimation&&this.overlay){let e=1-(1-this.overlayOpacity)*_t(t*.01,2,1);this.overlay.style.setProperty("--componentBgOpacity",e)}}destroy(){this.destroyed=!0,cancelAnimationFrame(this._raf),flexbe_cli.events.off(`.bg_${this.id}`),$(window).off(`.bg_${this.id}`),$(this.canvas).removeClass("ready"),this.offCanvas?.remove(),this.img?.remove()}},re=class{destroyed=!1;constructor(t,e,i){this.background=t,this.core=t.core,this.$component=t.$component,this.video=e,typeof i=="function"&&(this.onInited=i),this.initVideo()}initVideo(){this.$container=$('
'),this.insertVideo(),this.video.type==="custom"?this.initMP4():this.video.type==="vimeo"?this.initVimeo():this.video.type==="youtube"?this.initYoutube():this.video.type==="kinescope"?this.initKinescope():this.initEmbed(),$(document).on(`visibilitychange.bg_effect_${this.core.id}`,()=>{this.background.onscreen&&!document.hidden&&setTimeout(()=>{this.play()},50)})}initVimeo(){let t=0,e=()=>{let i=this.vPlayer;return Promise.all([i.getVideoWidth(),i.getVideoHeight()]).then(s=>{let[a,n]=s;return a/n<2.5&&a/n>.4||t===3?{width:a,height:n}:(t+=1,e())})};flexbe_cli.require(["https://player.vimeo.com/api/player.js"],()=>{this.destroyed||(this.vPlayer=new window.Vimeo.Player(this.$videoElement[0]),e().then(i=>(this.video.width=i.width,this.video.height=i.height,this.fitToSize(),this.play(),null)).catch(()=>{}))})}initYoutube(){let t=()=>{this.yPlayer=new window.YT.Player(this.$videoElement[0],{events:{onReady:()=>{this.fitToSize(),this.play()}}})};!window.YT&&!window.onYouTubeIframeAPIReady?(window.onYouTubeIframeAPIReady=()=>{window.youtubeBGQueue.forEach(e=>e()),window.youtubeBGQueue=null,window.onYouTubeIframeAPIReady=null},window.youtubeBGQueue=[],window.youtubeBGQueue.push(t),flexbe_cli.require(["https://www.youtube.com/iframe_api"])):window.onYouTubeIframeAPIReady?window.youtubeBGQueue.push(t):t()}initKinescope(){this.fitToSize(),this.ready(),flexbe_cli.require(["https://player.kinescope.io/latest/iframe.player.js"],async()=>{this.destroyed||(this.kPlayer=await window.Kinescope.IframePlayer.create(this.$videoElement.attr("id"),{url:this.video.link,behavior:{background:!0,preload:"auto",loop:!0,muted:!0,autoPlay:"viewable",autoPause:!1}}),this.play())})}initEmbed(){this.fitToSize(),this.play()}initMP4(){this.$videoElement[0].oncanplay=()=>{this.play()},this.$videoElement[0].onloadeddata=()=>{this.video.width=this.$videoElement[0].videoWidth,this.video.height=this.$videoElement[0].videoHeight,this.fitToSize(),this.ready()}}insertVideo(){this.video.type==="custom"?(this.$videoElement=$(``),this.$videoElement[0].disablePictureInPicture=!0,this.$videoElement[0].disableRemotePlayback=!0):this.$videoElement=$(``),this.$container.append(this.$videoElement),this.$component.prepend(this.$container),this.onInited&&this.onInited(this.$container)}fitToSize(){if(this.video){let t=this.$container.width(),e=this.$container.height(),i=this.video.width/this.video.height;i>t/e?this.$videoElement.css({width:`${e*i}px`,height:"100%"}):this.$videoElement.css({width:"100%",height:`${t/i}px`})}this.videoIsResized=!0}ready(){k(()=>this.videoIsResized,()=>{this.$component.addClass("video-loaded")},5e3)}play(){this.$videoElement&&this.$videoElement[0]&&this.$videoElement[0].play?(this.$videoElement[0].play(),$(document).one("touchstart.video-bg",()=>{this.$videoElement[0].play()}),this.ready()):this.video.type==="vimeo"?k(()=>this.vPlayer&&this.vPlayer.play,()=>{setTimeout(()=>{this.vPlayer.play(),this.ready()},50)},5e3):this.video.type==="youtube"?k(()=>this.yPlayer&&this.yPlayer.playVideo,()=>{this.yPlayer.playVideo(),this.ready()},5e3):this.video.type==="kinescope"?k(()=>this.kPlayer&&this.kPlayer.play,()=>{this.kPlayer.play(),this.ready()},5e3):this.ready()}pause(){this.video.type==="vimeo"&&this.vPlayer?this.vPlayer.pause():this.video.type==="youtube"&&this.yPlayer&&this.yPlayer.pauseVideo?this.yPlayer.pauseVideo():this.video.type==="kinescope"&&this.kPlayer?.pause?this.kPlayer.pause():this.$videoElement&&this.$videoElement[0]&&this.$videoElement[0].pause&&this.$videoElement[0].pause()}destroy(){this.destroyed=!0,this.pause(),this.kPlayer&&this.kPlayer.destroy(),$(document).off(`.bg_effect_${this.core.id}`)}},le=[800,1366,1920,2160],R=class extends w{static is="background";constructor(...t){super(...t);let{$component:e}=this,i=e.data();this.data={type:i.type||"color",hasImagePlaceholder:!!i.hasPlaceholder,imageLoadingOptions:flexbe_cli.vars.site.images,isLazyLoading:!!i.lazy,isImgLoaded:!!i.loaded,effect:i.effect,effectMobile:i.effectMobile??i.effect,videoId:i.videoId||null,videoType:i.videoType||null,videoLink:i.videoLink||null,videoWidth:i.videoWidth||640,videoHeight:i.videoHeight||360,videoPreview:i.videoPreview||"color",infinityVideo:i.infinityVideo??!1,mobileVideoEnabled:i.mobileVideoEnabled||!1,videoParallaxFactor:.4},this.image={url:null,id:i.imgId,ext:i.imgExt,x:i.imgX,y:i.imgY,proportion:i.imgProportion,width:i.imgWidth,animated:i.imgAnimated,transparent:i.imgTransparent,scale:"cover",type:"background",original:!!i.imgOriginal}}async onInit(){this.data.isLazyLoading||await this.loadImage(),this.$component.on("setImage",async()=>{this.isVisible&&!this.isImgLoading&&!this.data.isImgLoaded&&await this.loadImage()})}onScreen({state:t}){this.videoInstance&&(this.data.infinityVideo||(t?this.videoInstance.play():this.videoInstance.pause())),this.onscreen=t,!(!t||this.played)&&this.playVideo()}async onBeside({state:t,first:e}){t&&e&&(await this.loadImage(),this.imageEffectInit(),this.videoEffectInit()),this.played||this.playVideo(),this.bgEffect&&(this.bgEffect.toggleRendering(t),this.bgEffect.draw())}onResize(){this.bgEffect&&requestAnimationFrame(()=>{this.bgEffect.reflow()}),this.data.type==="video"&&(this.videoInstance?(this.videoInstance.fitToSize(),this.data.effect&&this.fixHolder&&this.setParallax&&setTimeout(()=>{this.fixHolder(),this.setParallax()},100),setTimeout(()=>{this.videoInstance.fitToSize()},150)):this.fixHolder&&this.fixHolder())}async loadImage(){if(!(this.image.id&&(this.data.type==="image"||this.data.type==="video"&&this.data.videoPreview==="image")))return;this.isImgLoading=!0;let t={width:this.componentWidth||this.component.offsetWidth,height:this.componentHeight||this.component.offsetHeight},{width:e}=this.image.original?{width:0}:await I(this.image,t,{...this.data.imageLoadingOptions,sizes:le});if(this.image.url=A(this.image,e,this.data.imageLoadingOptions),!this.data.isImgLoaded){if(this.data.hasImagePlaceholder)try{await D(this.image.url)}catch(i){console.error("Background preload error",i);return}this.setImage(this.image.url)}this.isImgLoading=!1}setImage(t){this.$component.find(".image-holder").css("background-image",`url(${t})`),this.$component.addClass("image-loaded"),this.isImgLoading=!1,this.data.isImgLoaded=!0}imageEffectInit(){if(this.data.type!=="image"||!this.data.effect||flexbe_cli.vars.globals.isScreenshot)return;let{owner:t,$component:e,data:i,image:s}=this,a=t._core?.id||t.getAttribute("data-id");typeof t._bgEffects=="object"&&t._bgEffects.destroy();let n=i.effect!=="fixed";n&&i.effectMobile==="off"&&flexbe_cli.run.is_screen_mobile&&(n=!1),n&&(this.bgEffect=new oe(a,e,i.effect,s),t._bgEffects=this.bgEffect)}videoEffectInit(){if(this.data.type!=="video"||this.data.effect!=="parallax"||flexbe_cli.vars.globals.isScreenshot)return;let t=this.$component.find(".video-holder, .image-holder"),e=this.owner._core,i=this.data,s=()=>e.tween.height+(flexbe_cli.resize.viewportHeight-e.tween.height)*i.videoParallaxFactor,a=()=>{t.css("height",`${s()}px`)},n=()=>{if(this.data.effectMobile==="off"&&flexbe_cli.run.is_screen_mobile){t.css("top","");return}let o=1-this.data.videoParallaxFactor,l=Math.floor((flexbe_cli.scroll.latest-e.tween.start)*-o)||0;t.css("top",`${l}px`)};a(),n(),e.$area.off(`fixHeaderHeight.component-bg-${e.id}`).on(`fixHeaderHeight.component-bg-${e.id}`,()=>{n()}),$(window).off(`scroll.component-bg-${e.id}`).on(`scroll.component-bg-${e.id}`,()=>{this.onscreen&&n()}),this.fixHolder=a,this.setParallax=n}playVideo(){if(flexbe_cli.run.is_screen_mobile&&!this.data.mobileVideoEnabled||flexbe_cli.vars.globals.isCriticalCss||flexbe_cli.vars.globals.isScreenshot||flexbe_cli.vars.globals.isBot)return!1;let t=this.data,e={id:t.videoId,type:t.videoType,link:t.videoLink,width:t.videoWidth,height:t.videoHeight};return this.data.type!=="video"||!e.id&&!e.link?!1:(this.played=!0,this.videoInstance||(this.videoInstance=new re(this,e,()=>{this.videoEffectInit()})),!0)}onDestroy(){this.core.$area.off(`fixHeaderHeight.component-bg-${this.core.id}`),$(window).off(`scroll.component-bg-${this.core.id}`),this.bgEffect&&this.bgEffect.destroy(),this.videoInstance&&this.videoInstance.destroy()}};var de=new Array(70).fill(1).map((t,e)=>50+50*e),U=class extends w{static is="icon";isCreated;isImgLoaded;isLazyLoading;image;imageLoadingOptions;async onInit(){this.$component.on("setImage",async()=>{this.isVisible&&!this.isImgLoaded&&(this.isCreated||this.create(),await this.loadImage())})}async onBeside({state:t}){t&&(this.isCreated||this.create(),this.isLazyLoading&&!this.isImgLoaded&&await this.loadImage())}async onResize(){this.isCreated&&await this.loadImage()}create(){let t=this.$component.data();this.imageLoadingOptions=flexbe_cli.vars.site.images,this.isLazyLoading=!!t.imgLazy,this.image={url:t.imgUrl||null,id:t.imgId,ext:t.imgExt,proportion:t.imgProportion,width:t.imgWidth,animated:t.imgAnimated,transparent:t.imgTransparent,scale:t.imgScale,type:"background"},this.isCreated=!0}async loadImage(){let t=this.$component.find(".vector-icon use"),e=this.$component.find(".custom-icon");if(t.length&&t.attr("href",this.image.url),e.length){let i=this.image.url;if(this.image.id){let s={width:this.componentWidth,height:this.componentHeight},{width:a}=await I(this.image,s,{...this.imageLoadingOptions,sizes:de});i=A(this.image,a,this.imageLoadingOptions)}i&&e.css("background-image",`url(${i})`)}this.isImgLoaded=!0}};flexbe_cli.entity.setClientJs("modal","BASIC",{components:[R,U],onOpen(){this.$scroll=this.$area.find(".scroller"),this.$content=this.$area.find(".modal-content"),this.$close=this.$scroll.find("> .close--outside"),this.dispatchClasses(),this.$scroll.on("scroll.close-check",$.throttle(()=>{this.dispatchClasses()},60))},onClose(){this.$scroll.off("scroll.close-check")},dispatchClasses(){if(flexbe_cli.resize.responsiveMode!=="mobile"||!this.$close.length)return;let t=this.$scroll[0].scrollTop,e=this.$content[0].offsetTop,i=this.$close[0].offsetHeight;this.$close.toggleClass("stuck",e-t{if(!t)return;let i=t.value;t.innerHTML="";let s=t.getAttribute("data-placeholder");if(s){let a=document.createElement("option");a.value="",a.textContent=s,t.appendChild(a)}e.forEach(a=>{let n=document.createElement("option");n.value=a.value,n.textContent=a.label,t.appendChild(n)}),e.some(a=>a.value===i)&&(t.value=i),(t.querySelector(`option[value="${i}"]`)||t.querySelector("option")).setAttribute("selected","selected")},st=class{static create(t){return new this(t)}static getInstance(t){return $(t).data("selectComponent")}constructor(t){this.opts=t,this.config={...ce,...t.config},this.element=t.element,this.$select=$(this.element),this.isNativeSelect=this.$select.is("select"),this.selectAllDevice=this.$select.data("type")==="select",this.blurTimeOut=!1,this.blurListTimeOut=!1,this.focused=!1,this.active=!1,this.$select.data("selectComponent",this),this.createSelect()}createSelect(){this.$customSelect=$(` `),this.$customSelect__content=this.$customSelect.find(".dropdown-select__content"),this.$select.after(this.$customSelect),this.syncSelect(),this.$select.on("syncSelectUI",()=>this.syncSelect()),this.selectAllDevice||flexbe_cli.run.is_screen_desktop?(this.$customSelect.off("click.selected").on("click.selected",".dropdown-select",t=>{clearTimeout(this.blurListTimeOut),this.active?this.collapse():this.activate(t)}),this.$customSelect.off("focus.selectFocus").on("focus.selectFocus",".dropdown-select",()=>{this.focused=!0,this.$listWrapper||this.createList()}),this.isNativeSelect&&this.$select.off("change.changeSelect").on("change.changeSelect",t=>{let e=t.currentTarget.value;if(this.$listWrapper){let i=this.$listWrapper.find(".dropdown-select-ul li");i.removeClass(this.config.selectedClass),i.filter((s,a)=>a.getAttribute(this.config.attrValue)===e).addClass(this.config.selectedClass)}this.$customSelect__content.text(e),typeof this.opts.onChange=="function"&&this.opts.onChange(t)}),this.$customSelect.off("blur.selectBlur").on("blur.selectBlur",".dropdown-select",t=>{setTimeout(()=>{this.collapse()},500)}),this.$customSelect.off("keydown.selectKeydown").on("keydown.selectKeydown",".dropdown-select",t=>{if(this.focused&&[13,27,32,38,40].includes(t.keyCode)){t.preventDefault();let e=this.$list.find(`.option-e.${this.config.selectedClass}`).filter(i=>!$(i).attr("disabled"));if(t.keyCode===40)t.preventDefault(),this.select(e.next(),!1),this.scrollToSelected();else if(t.keyCode===38)t.preventDefault(),this.select(e.prev(),!1),this.scrollToSelected();else if(!this.active&&t.keyCode===32)t.preventDefault(),this.activate(t);else if(this.active&&[13,27,32].includes(t.keyCode))return t.preventDefault(),this.collapse(),!1}})):this.$select.off("change.selected").on("change.selected",t=>{let e=t.target.value||$(t.currentTarget.options[0]).text();this.$customSelect__content.text(e)})}syncSelect(){let t=this.$select.children(this.config.optionSelector).filter((i,s)=>(s.selected??$(s).attr("selected"))||$(s).hasClass(this.config.selectedClass)).eq(0),e=t.html()||"\u2014";this.$customSelect__content.attr(this.config.attrValue,t.attr(this.config.attrValue)),this.$customSelect__content.html(e)}createList(){let t=this.$select.children(this.config.optionSelector);this.$listWrapper=$(`
`),this.$list=this.$listWrapper.find(".dropdown-select-ul"),t.each((e,i)=>{let s=$(i),a=(i.selected??s.attr("selected"))||s.hasClass(this.config.selectedClass),n=(i.disabled??s.attr("disabled"))||s.hasClass("disabled"),o=(i.locked??s.attr("locked"))||s.hasClass("locked"),l=this.isNativeSelect?s.val():s.attr(this.config.attrValue),r=s.html().trim()||"\u2014",d="";this.config.title&&(d=s.attr("data-title"));let c=$(`
  • `);a&&!n&&c.addClass(this.config.selectedClass),n&&c.attr("disabled","disabled"),o&&c.attr("locked","locked"),c.attr(this.config.attrValue,l),c.html(r),this.$list.append(c)})}select(t,e){if(!t[0])return;if(t.attr("disabled")){clearTimeout(this.blurTimeOut),this.$list.off("blur.listBlur").on("blur.listBlur",()=>{this.focused=!1,this.blurListTimeOut=setTimeout(()=>{this.$listWrapper&&this.collapse()},200)});return}let i=t.attr(this.config.attrValue),s=this.$select.children(this.config.optionSelector);t.siblings("li").removeClass(this.config.selectedClass),t.addClass(this.config.selectedClass),s.removeAttr("selected").removeClass(this.config.selectedClass),s.filter(`[${this.config.attrValue}='${i}']`).addClass(this.config.selectedClass).attr("selected","selected"),this.$select.val(i),this.$select.trigger("change"),this.$select.closest(".is_error").removeClass("is_error"),this.syncSelect(),e&&this.collapse()}scrollToSelected(){let t=this.$list[0].offsetHeight;if(this.$list[0].scrollHeight<=t)return!1;let e=this.$list.children(".option-e").find(`.${this.config.selectedClass}`)[0];e&&e.scrollIntoView()}collapse(){clearTimeout(this.blurTimeOut),this.active=!1,this.$listWrapper.removeClass("active rise"),this.$listWrapper.detach(),typeof this.opts.onCollapse=="function"&&this.opts.onCollapse()}activate(t){if(this.active)return!1;this.active=!0,this.createList();let e=this.config.padding||0,i=this.$customSelect[0].getBoundingClientRect(),s={left:i.left+window.scrollX,top:i.top+window.scrollY,width:i.width,height:i.height};this.config.position==="under"&&(s.top=s.top+s.height+e),this.$listWrapper.off("click.closeSelect").on("click.closeSelect",".overlay",a=>{this.collapse();let n=document.elementFromPoint(a.clientX,a.clientY);n&&n.focus()}),this.$listWrapper.off("click.selectLi").on("click.selectLi",".dropdown-select-ul li",a=>{let n=$(a.currentTarget);this.select(n,!0),typeof this.opts.onSelect=="function"&&this.opts.onSelect(a)}),this.$listWrapper.off("mousewheel.selectUl").on("mousewheel.selectUl",".dropdown-select-ul",a=>{let n=a.currentTarget.scrollHeight,o=a.currentTarget.clientHeight;return!(a.currentTarget.scrollTop===n-o&&a.deltaY>0||a.currentTarget.scrollTop===0&&a.deltaY<0)}),$("body").append(this.$listWrapper),clearTimeout(this.blurTimeOut),this.$list.css({left:`${s.left}px`,top:`${s.top}px`,width:`${s.width}px`}),this.$listWrapper.outerWidth(),this.$listWrapper.toggleClass("rise",!!this.$select.closest(".m_modal, .w_widget").length),this.$listWrapper.addClass("active"),this.scrollToSelected(),typeof this.opts.onActivate=="function"&&this.opts.onActivate(t)}reset(){let t=this.$select.children(this.config.optionSelector);this.select(t)}};var xt=(t,e)=>!t||typeof t!="string"?t:t.replace(/\{\{\s*([^}|]+)(?:\s*\|\s*([^}]*))?\s*\}\}/g,(i,s,a)=>e(s.trim(),a?.trim()));function St(t,e={}){let i=Object.keys(e),s=Object.values(e);return new Function(...i,`return \`${t}\`;`)(...s)}var j="default",At=class{#t=new Map;#e=null;constructor(t,e=!1){this.strict=!1,this.#e=t||this,this.strict=e}#i(t,e,i){(Array.isArray(t)?t:t.split(" ")).forEach(s=>{let[a,...n]=s.includes(".")?s.split("."):[s,j],o=n.join(".")||j;this.#t.has(a)||this.#t.set(a,new Map),this.#t.get(a).set(e,{once:i,namespace:o})})}on(t,e){return this.#i(t,e,!1),this}one(t,e){return this.#i(t,e,!0),this}off(t,e){return(Array.isArray(t)?t:t.split(" ")).forEach(i=>{let[s,...a]=i.includes(".")?i.split("."):[i,j],n=a.join(".")||j;(s?[this.#t.get(s)]:[...this.#t.values()]).filter(Boolean).forEach(o=>{Array.from(o.entries()).forEach(([l,r])=>{(!e||e===l)&&r.namespace===n&&o.delete(l)}),o.size===0&&this.#t.delete(s)})}),this}clear(){return this.#t.clear(),this}async trigger(t,...e){let[i,...s]=t.split("."),a=s.join("."),n=this.#t.get(i),o=this.#t.get("*"),l=[];return n&&n.forEach((r,d)=>{(!a||r.namespace.startsWith(a))&&(l.push(Promise.resolve(d.call(this.#e,...e))),r.once&&n.delete(d))}),o&&o.forEach((r,d)=>{l.push(Promise.resolve(d.call(this.#e,t,...e)))}),this.strict&&l.length===0&&console.warn(`No listeners for event: ${t}`),Promise.all(l)}async emit(t,...e){return this.trigger(t,...e)}};var kt=class{constructor(t){this.$legend=t.find(".range-legend"),this.$component=t.find(".range-outer"),this.$input=t.find("input"),this.startEdge=this.$component.data("start"),this.isDouble=!!this.$component.data("double"),this.endEdge=this.$component.data("end"),this.range=this.endEdge-this.startEdge,this.barWidth=this.$component.width(),this.step=this.$component.data("step")||1,this.steps=Math.round(this.range/this.step),this.legendType=this.$legend.data("type"),this.legendText=+this.$legend.data("text")==1,this.animated=!0,this.duration=this.steps<10?300*(1/this.steps):!1,this.fractExponent=Math.max(this.getFract(this.startEdge),this.getFract(this.endEdge),this.getFract(this.step)),this.fractDevider=10**this.fractExponent,this.$value=$(".range-value",this.$component),this.$endRunner=$(".range-runner-right",this.$component),this.$endRunnerTip=$(".runner-tip",this.$endRunner),this.$endRunnerValue=$(".value",this.$endRunner),this.$startRunner=$(".range-runner-left",this.$component),this.$startRunnerValue=$(".value",this.$startRunner),this.$startRunnerTip=$(".runner-tip",this.$startRunner),this.startRunnerWidth=this.$startRunner.width(),this.maxAllowedLeft=20,this.maxAllowedRight=flexbe_cli.resize.viewportWidth-20,this.defaultShift=this.$endRunner.width()/2,this.activeRunner=!1,this.startValue=+this.startEdge;let e=String(this.$input.attr("value")).replace(/[^\d-]/g,"");if(this.isDouble){let i=e.split("-");this.startValue=i[1]?Number(i[0]):+this.startEdge,this.endValue=i[1]?Number(i[1]):+this.endEdge,e=`${this.startValue} \u2014 ${this.endValue}`}else this.endValue=e?Number(e):+this.startEdge,this.startValue=+this.startEdge,e=this.endValue;this.$input.attr("value",e),this.endParams={},this.drawLegend(),this.updateTooltip(this.$startRunnerTip),this.updateTooltip(this.$endRunnerTip),this.setEvents(),this.setRunnersValue()}formatN(t){let e=flexbe_cli.locale.formatNumber(t,this.fractExponent);return`${t<0?"-":""}${e}`}getFract(t){let e=`${t}`.split(".");return e[1]&&e[1].length||0}drawLegend(){if(this.legendText)return!1;let t=this.$legend.find(".from"),e=this.$legend.find(".to");if(t.text(this.formatN(this.startEdge)),e.text(this.formatN(this.endEdge)),this.legendType!=="complex")return!1;this.$legend.find(".legend-point:not(.from, .to)").off("click").remove(),this.$legend.removeClass("complex").addClass("limits");let i=[`${this.formatN(this.startEdge)}`.length,`${this.formatN(this.endEdge)}`.length,`${this.formatN(this.step)}`.length],s=(i[0]+i[1]+i[2])/3,a=Math.max(this.startEdge,this.endEdge),n=[this.step*5*this.fractDevider/this.fractDevider];for(let u=1;u<=12;u++){let p=10**u*this.step;pi[1]?".from":".to").width()/Math.max(i[1],i[0])),r=Math.round(this.barWidth*.83/(l*s)),d=this.range>0?1:-1;for(let u=Math.min(r,10);u>=3;u--){let p=h(this.step,Math.abs(this.steps),u,n);if(p&&Number.isInteger(p/this.step)&&Number.isInteger(this.range/p)){o=p;break}}if(!o||!Number.isInteger(this.range/(o*d))||this.range/(o*d)<3)for(let u=Math.min(Math.round(Math.abs(this.range)/this.step),r,10);u>=2;u-=1){let p=this.roundFraction(Math.abs(this.range)/u);if(p%this.step===0){o=p;break}}let c=this.roundFraction(Math.abs(this.range)/o);if(o&&Number.isInteger(c)){let u=[];for(let g=1;g${this.formatN(m)}`)}c>2&&(this.$legend.attr("data-count",c),this.$legend.removeClass("limits").addClass("complex"));let p=$(u.join(""));this.$legend.find(".from").after(p)}else this.$legend.removeClass("complex").addClass("limits");this.$legend.find(".legend-point:not(.to), .legend-point:not(.from)").each((u,p)=>{$(p).on("click",()=>{if(this.updateBarWidth(),this.isDouble){let g=(this.startValue+this.endValue)/2,m=+$(p).data("value"),b=this.startEdge=g*b?this.endValue=m:this.startValue=m}else this.endValue=$(p).data("value");this.setRunnersValue()})});function h(u,p,g,m){return m.includes(p/g*u)?p/g*u:m.includes((p+1)/g*u)?(p+1)/g*u:m.includes((p+2)/g*u)?(p+2)/g*u:m.includes((p+3)/g*u)?(p+3)/g*u:m.includes((p+4)/g*u)?(p+4)/g*u:m.includes((p+5)/g*u)?(p+5)/g*u:m.includes((p+6)/g*u)?(p+6)/g*u:m.includes((p+7)/g*u)?(p+7)/g*u:m.includes((p+8)/g*u)?(p+8)/g*u:m.includes((p+9)/g*u)?(p+9)/g*u:!1}function f(u,p,g){for(let m=1;m<10;m+=1)u.push(Math.round(p*m*g)/g),u.push(Math.round(p*m*g+p/2)/g)}}roundFraction(t){return Math.round(t*1e10)/1e10}setRunnersValue(t=!1){if(!Number.isFinite(this.endValue)||!Number.isFinite(this.range)||this.isDouble&&!Number.isFinite(this.startValue))return!1;let e=this.startEdge=this.endValue*e&&(this.startValue=this.endValue):this.endValue*e>=this.endEdge*e?this.endValue=this.endEdge:this.endValue*e<=this.startValue*e&&(this.endValue=this.startValue);let i=this.isDouble?this.startValue:this.startEdge,s=this.isDouble?(this.startValue-this.startEdge)/(this.range/100):0,a=(this.endValue-i)/(this.range/100);if(this.endValue=Math.round(this.endValue*this.fractDevider)/this.fractDevider,this.startValue=Math.round(this.startValue*this.fractDevider)/this.fractDevider,requestAnimationFrame(()=>{this.$endRunnerValue.text(this.formatN(this.endValue)),this.$startRunnerValue.text(this.formatN(this.startValue))}),this.activeRunner==="end"?this.updateTooltip(this.$endRunnerTip):this.updateTooltip(this.$startRunnerTip),this.$value.css({width:`${a}%`,marginLeft:`${s}%`}),!t){let n;this.isDouble?n=`${this.startValue} \u2014 ${this.endValue}`:n=this.endValue,this.$input.attr("value")!==String(n)&&(this.$input.attr("value",n),this.$input.trigger("change"))}}updateTooltip(t){let e=t.closest(".range-runner");if(e&&e.length){let i=t.innerWidth(),s=t.closest(".range-runner")[0].getBoundingClientRect().left+this.startRunnerWidth/2,a;i/2>s+this.maxAllowedLeft?a=i/2-(s-this.maxAllowedLeft):i/2+s>this.maxAllowedRight?a=this.maxAllowedRight-s-i/2:a=0,t.css({transform:`translateX(${a}px)`})}}getValueFromLength(t){let e=this.range/(this.barWidth/t);return(Math.round(e/this.step)+this.startEdge/this.step)*this.step}applyEndPosition(t){let e=this.activeRunner==="start"?"startValue":"endValue";return this[e]=this.getValueFromLength(t),this.setRunnersValue(),!0}touchHandler(t){if(!this.endParams.active||t.touches.length!==1)return $("body")[0].removeEventListener("touchmove",this.touchHandler),!1;this.toggleAnimation(!1),t.preventDefault(),t.stopPropagation();let e=t.touches[0].pageX-this.endParams.left-this.endParams.shift;return this.applyEndPosition(e),!0}startWatchingEvents(t=this.defaultShift){this.endParams={active:!0,left:this.$component.offset().left,shift:t},clearTimeout(this.calmRunnersTimeout),this.activeRunner==="end"?this.$endRunner.addClass("active"):this.$startRunner.addClass("active")}toggleAnimation(t){t?Math.abs(this.barWidth/this.steps)<15?this.$component.addClass("animated"):(this.$component.removeClass("active-animation"),this.duration&&this.$component.removeClass(`animation-speed-${12-Math.abs(Math.round(this.steps))}`)):Math.abs(this.barWidth/this.steps)<15?this.$component.removeClass("animated"):(this.$component.addClass("active-animation"),this.duration&&this.$component.addClass(`animation-speed-${12-Math.abs(Math.round(this.steps))}`))}afterRunnerReleased(){this.endParams.active&&(this.activeRunner==="start"?this.$startRunner.focus():this.$endRunner.focus()),this.endParams.active=!1,this.debounceActive(),this.barWidth/this.steps<15?this.$component.addClass("animated"):this.$component.removeClass("active-animation"),this.toggleAnimation(!0)}updateBarWidth(){let t=this.$component.width();t!==this.barWidth&&(this.barWidth=t,this.legendType==="complex"&&this.drawLegend())}setEvents(){let t=$(window),e=this;this.$component.on("resize",()=>{this.updateBarWidth()}),this.$component.on("touchstart",s=>{if(s.touches.length!==1)return!1;if(this.isDouble){let n=(this.$endRunner.offset().left+this.$startRunner.offset().left)/2;this.activeRunner=s.touches[0].pageX>=n?"end":"start",this.activeRunner==="start"?(this.$startRunner.addClass("upper-runner"),this.$endRunner.removeClass("upper-runner")):(this.$endRunner.addClass("upper-runner"),this.$startRunner.removeClass("upper-runner"))}else this.activeRunner="end";s.stopPropagation(),this.updateBarWidth();let a=s.touches[0].pageX-this.$value.offset().left;this.startWatchingEvents(),this.applyEndPosition(a-this.defaultShift),t[0].addEventListener("touchmove",this.touchHandler.bind(this),{passive:!1}),t.on("touchend.range",()=>{this.afterRunnerReleased(),t[0].removeEventListener("touchmove",this.touchHandler),t.off("touchend.range")})}),this.$component.on("mousedown",s=>{let a=s.pageX-this.$component.offset().left;if(this.isDouble){let n=(this.$endRunner.offset().left+this.$startRunner.offset().left)/2;this.activeRunner=s.pageX>=n?"end":"start",this.activeRunner==="start"?(this.$startRunner.addClass("upper-runner"),this.$endRunner.removeClass("upper-runner")):(this.$endRunner.addClass("upper-runner"),this.$startRunner.removeClass("upper-runner"))}this.updateBarWidth(),this.startWatchingEvents(),this.applyEndPosition(a-this.defaultShift),this.activeRunner==="start"?this.$startRunner.focus():this.$endRunner.focus(),t.on("mousemove.dragRange",i),t.on("mouseup.range",()=>{this.afterRunnerReleased(),t.off("mousemove.dragRange"),t.off("mouseup.range")})}),this.$endRunner.on("touchstart",s=>{if(s.touches.length!==1)return!1;s.stopPropagation(),this.updateBarWidth(),this.activeRunner="end",this.$startRunner.removeClass("upper-runner"),this.$endRunner.addClass("upper-runner"),s.stopPropagation(),this.startWatchingEvents(s.touches[0].pageX-this.$endRunner.offset().left),this.toggleAnimation(!1),t[0].addEventListener("touchmove",this.touchHandler.bind(this),{passive:!1}),t.on("touchend.range",()=>{this.afterRunnerReleased(),t[0].removeEventListener("touchmove",this.touchHandler),t.off("touchend.range")})}),this.$startRunner.on("touchstart",s=>{if(s.touches.length!==1)return!1;s.stopPropagation(),this.updateBarWidth(),this.activeRunner="start",this.$startRunner.addClass("upper-runner"),this.$endRunner.removeClass("upper-runner"),s.stopPropagation(),this.startWatchingEvents(s.touches[0].pageX-this.$startRunner.offset().left),this.toggleAnimation(!1),t[0].addEventListener("touchmove",this.touchHandler.bind(this),{passive:!1}),t.on("touchend.range",()=>{this.afterRunnerReleased(),t[0].removeEventListener("touchmove",this.touchHandler),t.off("touchend.range")})}),this.$endRunner.on("mousedown",s=>{s.stopPropagation(),this.activeRunner="end",this.$startRunner.removeClass("upper-runner"),this.$endRunner.addClass("upper-runner"),this.updateBarWidth(),this.$endRunner.focus(),this.startWatchingEvents(s.pageX-this.$endRunner.offset().left),this.toggleAnimation(!1),t.on("mousemove.dragRange",i),t.on("mouseup.range",()=>{this.afterRunnerReleased(),t.off("mousemove.dragRange"),t.off("mouseup.range")})}),this.$startRunner.on("mousedown",s=>{s.stopPropagation(),this.activeRunner="start",this.$startRunner.addClass("upper-runner"),this.$endRunner.removeClass("upper-runner"),this.updateBarWidth(),this.$startRunner.focus(),this.startWatchingEvents(s.pageX-this.$startRunner.offset().left),this.toggleAnimation(!1),t.on("mousemove.dragRange",i),t.on("mouseup.range",()=>{this.afterRunnerReleased(),t.off("mousemove.dragRange"),t.off("mouseup.range")})}),this.$legend.find(".legend-point.to, .legend-point.from").each((s,a)=>{$(a).on("click",()=>{if(this.updateBarWidth(),this.isDouble){let n=this.startEdge=o*n?this.endValue=l:this.startValue=l}else this.endValue=$(a).data("value");this.setRunnersValue()})}),this.$input.on("change",()=>{if(this.isDouble){let s=this.$input.val().split(" \u2014 ");this.startValue=+s[0],this.endValue=+s[1]}else this.endValue=+this.$input.val();this.setRunnersValue(!0)}),this.$startRunner.on("keyup",s=>{s.preventDefault(),this.activeRunner="start",this.handleKeydown(s,this.$startRunner)}),this.$endRunner.on("keyup",s=>{s.preventDefault(),this.activeRunner="end",this.handleKeydown(s,this.$endRunner)}),this.$startRunner.on("keydown",s=>{this.activeRunner="start",this.handleKeyup(s,this.$startRunner)}),this.$endRunner.on("keydown",s=>{this.activeRunner="end",this.handleKeyup(s,this.$endRunner)}),this.$startRunner.on("blur",()=>{this.handleBlur()});function i(s){if(!e.endParams.active)return t.off("mousemove.dragRange"),!1;e.toggleAnimation(!1);let a=s.pageX-e.endParams.left-e.endParams.shift;return e.applyEndPosition(a),!0}}handleBlur(){this.movingInterval&&(clearInterval(this.movingInterval),this.movingInterval=!1),this.movingDebounceTimeout&&(clearTimeout(this.movingDebounceTimeout),this.movingDebounceTimeout=!1)}handleKeydown(t,e){if(this.movingInterval&&(clearInterval(this.movingInterval),this.movingInterval=!1),this.movingDebounceTimeout&&(clearTimeout(this.movingDebounceTimeout),this.movingDebounceTimeout=!1),[37,38,39,40].includes(t.keyCode)){let i=t.shiftKey?10:1,s=this.activeRunner==="start"?"startValue":"endValue";t.keyCode===38||t.keyCode===39?this[s]=(this[s]/this.step+i)*this.step:(t.keyCode===37||t.keyCode===40)&&(this[s]=(this[s]/this.step-i)*this.step),e.addClass("active"),this.debounceActive(),this.setRunnersValue()}}handleKeyup(t,e){t.keyCode!==9&&[37,38,39,40].includes(t.keyCode)&&(t.preventDefault(),e.addClass("active"),this.debounceActive(),this.startDebouncedMove(t))}startDebouncedMove(t){this.movingDebounceTimeout&&(clearTimeout(this.movingDebounceTimeout),this.movingDebounceTimeout=!1),this.movingDebounceTimeout=setTimeout(()=>{this.movingInterval=setInterval(()=>{this.debounceActive();let e=t.shiftKey?10:1,i=this.activeRunner==="start"?"startValue":"endValue";t.keyCode===38||t.keyCode===39?this[i]=(Math.round(this[i]/this.step)+e)*this.step:(t.keyCode===37||t.keyCode===40)&&(this[i]=(Math.round(this[i]/this.step)-e)*this.step),this.setRunnersValue()},50)},300)}debounceActive(){this.calmRunnersTimeout&&clearTimeout(this.calmRunnersTimeout),this.calmRunnersTimeout=setTimeout(()=>{this.$endRunner.removeClass("active"),this.$startRunner.removeClass("active")},500)}};function Tt(t,e){let i=$(t),s=i.closest("[data-type]").attr("data-type"),a=i.attr("data-date-range")||"any",n=i.attr("data-date-work-days")??"0,1,2,3,4,5,6",o=31,l=11,r=new Date().getFullYear()+3;s==="datetime"&&(r=new Date().getMonth()>=8?new Date().getFullYear()+1:new Date().getFullYear());let d=new Date(new Date().getFullYear()-100,0,1),c=new Date(r,l,o);(s==="datetime"||a==="future")&&(d=new Date),s==="date"&&a==="past"&&(c=new Date);let h={type:s,lowerLimit:d,upperLimit:c,dateRange:a,locale:flexbe_cli.locale.translation.calendar,dateFormat:flexbe_cli.locale.dateFormat,showDateSelector:s==="date"&&a!=="future",insertTo:e,workDays:n.length?n.split(","):[],workTime:null};if(s==="datetime"){let f=i.attr("data-date-time-interval")||30,u=i.attr("data-date-time-start")||"00:00",p=i.attr("data-date-time-finish")||"00:00";h.workTime={interval:f,start:{hour:+u.substring(0,2),minute:+u.substring(3,5)},finish:{hour:+p.substring(0,2),minute:+p.substring(3,5)}}}i.calendar(h)}var V={notStarted:0,inProgress:1,done:2,error:3,abort:4},he=4*1024*1024,ue=class Pt extends At{request;id;file;status=V.notStarted;name;uri;progress=0;static async getFileHash(e){let i=e.name,s=await pe(e);return flexbe_cli.helpers.hashCode(i+s.slice(0,he))}constructor(e){super(),this.file=e,this.name=e.name}async init(){this.id=await Pt.getFileHash(this.file)}upload(){this.trigger("start");let e=flexbe_cli.helpers.upload(this.file,{onProgress:(i,s)=>{s.lengthComputable&&(this.progress=s.loaded/s.total),this.trigger("progress",{jqXhr:i,progress:this.progress})},onSuccess:(i,s)=>{this.uri=i.fileUri,this.status=V.done,this.trigger("success",{jqXHR:i,textStatus:s})},onError:(i,s)=>{this.progress=1,this.status=s==="abort"?V.abort:V.error,this.trigger("error",{jqXHR:i,textStatus:s})},onComplete:(i,s)=>{this.trigger("complete",{jqXHR:i,textStatus:s})}});return this.request=e,this.status=V.inProgress,e}async abort(){!this.request||this.status!==V.inProgress||(this.status=V.abort,this.request.abort())}};async function pe(t){return new Promise(e=>{let i=new FileReader;i.addEventListener("load",s=>{e(s.target.result)}),i.readAsBinaryString(t)})}var S={};function Dt(t,e,i){let s=(a,n,o)=>{let l=a.find(".form-field-hidden"),r=Array.from(n).map(h=>h.uri).filter(h=>h),d=a.find('input[type="hidden"]'),c=new Set;d.each((h,f)=>{let u=$(f).attr("name");if(u?.includes("[fields]")){let p=u.split("[fields]")[0];c.add(p)}}),c.size===0&&c.add(""),c.forEach(h=>{let f=h?`${h}[fields][${o}][value][]`:`fields[${o}][value][]`;a.find(`input[name$="${f}"]`).remove(),r.forEach(u=>{l.append($(``))})})};t.on(`change${e}`,".file-input--original",async a=>{let n=Object.values(a.currentTarget.files),o=null,l=[];if(!n.length)return;let r=$(a.currentTarget),d=r.closest("[data-field-id]"),c=d.find(".file-list"),h=d.attr("data-field-id"),f=d.attr("data-size"),u=d.attr("data-accept")?d.attr("data-accept").split(", "):[],p=(m,b)=>St(i,{id:b,fileName:m});if(f){let m=parseFloat(f);f.replace(/[^a-zA-Z]/g,"").toLowerCase()==="kb"?o=m*1e3:o=m*1e3*1e3}n=n.filter(m=>{let b=`.${m.name.split(".").pop().toLowerCase()}`;return u.length&&!u.includes(b)?(l.push(flexbe_cli.locale.tr("form::error_file_accept",{name:m.name})),!1):o&&m.size>o?(l.push(flexbe_cli.locale.tr("form::error_file_size",{name:m.name,size:f})),!1):!0}),S[h]||(S[h]=[]);let g=n.map(m=>new ue(m));await Promise.all(g.map(async m=>m.init())),g=g.filter(m=>!S[h].find(b=>b.id===m.id)),g.forEach(m=>{let b=$(p(m.name,m.id));m.on("start",()=>{d.addClass("loading"),d.removeClass("is_error"),c.append(b)}),m.on("progress",({progress:C})=>{let P=124.853-124.853*C;b.find(".circle-loader__path").css({"stroke-dashoffset":`${P}`})}),m.on("success",()=>{s(d,S[h],h)}),m.on("error",C=>{C?.textStatus!=="abort"&&(b.addClass("is-error"),d.addClass("is_error"),d.find(".error-text").append(flexbe_cli.locale.tr("form::error_file")))}),m.on("complete",()=>{b.removeClass("loading"),S[h].every(C=>C.progress===1)&&d.removeClass("loading")}),m.upload()}),d.find(".error-text").html(""),l.length&&(d.addClass("is_error_info"),d.find(".error-text").html(l.join("
    ")).append("
    "),l=[]),S[h].push(...g),r.val("")}),t.on(`click${e}`,".clear-files",a=>{let n=$(a.currentTarget).parents(".file-item"),o=$(a.currentTarget).closest("[data-field-id]"),l=o.attr("data-field-id"),r=n.attr("data-id"),d=S[l].find(c=>c.id===r);o.removeClass("is_error is_error_info"),o.find(".error-text").html(""),S[l]=S[l].filter(c=>c.id!==d.id),n.remove(),d.abort(),s(o,S[l],l)})}function Vt(){S={}}var fe={phone:{RU:["+7 (***) ***-**-**","8 (***) ***-**-**"],KZ:["+7 (***) ***-**-**","8 (***) ***-**-**"],UA:["+38 (***) ***-****"],BY:["+375 ** *******"],US:["+1 (***) ***-****"]}};function me(t){let e=String(t).toLowerCase(),i=flexbe_cli.vars.site.country,s=fe[e]?.[i];return s&&typeof s=="string"&&(s=[s]),Object.assign([],s)}function Rt(t){if(typeof window.IMask>"u")return;let e={signed:!0,lazy:!0,padFractionalZeros:!0,definitions:t.getAttribute("type")==="tel"?{"*":/\d/,"#":/\d/}:{"#":/\d/,"@":/[A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./}},i=t.required,s=t.getAttribute("data-mask");s&&!/[ #()*@{}]/.test(s)?s=me(s):s=[s];try{if(s=s.filter(o=>/[ #()*@_{}]/.test(o)),s=s.map(o=>o.replace(/0/g,"\\0")),s.length===0)throw{message:"Mask is empty"};s.length===1?s=String(s[0]):s=s.map(o=>({...e,mask:o}));let a=new window.IMask(t,{...e,mask:s,dispatch:(o,l)=>{let r=l.compiledMasks;if(r.length===1)return r[0];let d=(l.value+o).replace(/\W/g,"");return r.find(c=>{let h=c.mask.replace(/\W/g,"")[0];return d[0]===h})||r[0]}}),n=()=>{a.masked.isComplete||!i&&!a.value?t.setAttribute("data-mask-complete",!0):t.removeAttribute("data-mask-complete"),t.setAttribute("value",a.value)};t.value&&n(),a.on("accept",n),$(t).on("focus",()=>{requestAnimationFrame(()=>{$(t).trigger("click")})}),t._mask=a}catch(a){a instanceof Error&&console.error("MASK ERROR:",{masks:s,errorMessage:a.message}),t.removeAttribute("data-mask")}}function Lt(t){let e={},i={};for(let[s,a]of t.entries()){if(a instanceof File&&a.size===0)continue;if(a instanceof File){console.warn(`File object found in form data: ${s}. Files should be uploaded separately.`);continue}let n=s.match(/^(.*?)fields\[(\w+)\]\[(\w+)\](\[\])?$/);if(n){let o=n[1],l=n[2],r=n[3],d=n[4]==="[]",c=o?o.replace(/\[$/,"")+".fields":"fields";i[c]||(i[c]=new Map);let h=i[c];h.has(l)||h.set(l,{id:l});let f=h.get(l);d?(Array.isArray(f[r])||(f[r]=[]),f[r].push(a)):f[r]=a;continue}Et(e,s,a)}for(let[s,a]of Object.entries(i))Et(e,s,Array.from(a.values()));return e}function Et(t,e,i){let s=ge(e);if(s.length===1){It(t,s[0],i);return}let a=t;for(let o=0;o{Object.prototype.hasOwnProperty.call(i,a)?Array.isArray(i[a])?i[a].push(s):i[a]=[i[a],s]:i[a]=s});try{for(let s in i)if(s.startsWith("fields[")){let a=s.match(/^fields\[(\w+)\]\[(\w+)\]$/);if(a){let n=a[1],o=a[2],l=i.fields.find(r=>r.id===n);l||(l={id:n},i.fields.push(l)),l[o]=i[s],delete i[s]}else{let n=s.match(/^fields\[(\w+)\]\[(\w+)\]\[\]$/);if(n){let o=n[1],l=n[2],r=i.fields.find(d=>d.id===o);r||(r={id:o},i.fields.push(r)),Array.isArray(r[l])||(r[l]=[]),r[l].push(i[s]),delete i[s]}}}typeof i.products=="string"&&(i.products=JSON.parse(i.products)),(i["pay[price]"]||i["pay[desc]"])&&(i.pay={price:Number(i["pay[price]"]),desc:String(i["pay[desc]"])})}catch(s){console.error(s)}return["is_ajax","captcha-token","roistatVisit","jsform","goal_html","goal","forceUpdateProduct","action","utmData","abTest","pay[price]","pay[desc]","results","fileOriginal","g-recaptcha-response"].forEach(s=>{delete i[s]}),Object.entries(i).forEach(([s,a])=>{a==null&&delete i[s]}),i}var Mt=class{},ve=class extends Mt{_token=null;_widgetId=null;_loaded=!1;get rendered(){return!!this._widgetId}get loaded(){return this._loaded&&!!window.grecaptcha}get token(){return this._token}constructor(){super(),window.grecaptcha&&(this._loaded=!0)}async load({language:t}){if(this._loaded||window.grecaptcha){this._loaded=!0;return}return new Promise(e=>{let i=`https://www.google.com/recaptcha/api.js?render=explicit&hl=${t}`;flexbe_cli.require(i,()=>{let s=setInterval(()=>{window.grecaptcha&&(this._loaded=!0,clearInterval(s),e())},50);setTimeout(()=>{clearInterval(s),this._loaded||e()},5e3)})})}render(t,e){let i=flexbe_cli?.run?.is_screen_mobile,s={size:e.visibility==="invisible"?"invisible":i?"compact":"normal",sitekey:e.captcha.visible?e.captcha.env.RECAPTCHA_VISIBLE_SITE_KEY||"":e.captcha.env.RECAPTCHA_INVISIBLE_SITE_KEY||"",callback:a=>{this._token=a,e.callbacks.onSuccess(a)},"expired-callback":()=>{this._token=null,e.callbacks.onExpired()},"error-callback":()=>{this._token=null,e.callbacks.onError()}};window.grecaptcha.ready(()=>{try{this._widgetId=window.grecaptcha.render(t,s)}catch(a){console.error("Google reCAPTCHA render error:",a)}})}reset(){if(this._widgetId!==null&&window.grecaptcha)try{window.grecaptcha.reset(this._widgetId)}catch(t){console.error("Google reCAPTCHA reset error:",t)}this._token=null}executeInvisible(){window.grecaptcha&&(window.grecaptcha.ready(()=>{window.grecaptcha.execute(this._widgetId)}),setTimeout(()=>{$('iframe[title="recaptcha challenge"]').parent().parent().css("z-index",2e3)},100))}},be=class extends Mt{_token=null;_widgetId=null;_loaded=!1;_unsubscribeCallbacks=[];get rendered(){return!!this._widgetId}get loaded(){return this._loaded&&!!window.smartCaptcha}get token(){return this._token}constructor(){super(),window.smartCaptcha&&(this._loaded=!0)}async load(){if(this._loaded||window.smartCaptcha){this._loaded=!0;return}return new Promise(t=>{let e="https://captcha-api.yandex.ru/captcha.js?render=onload&onload=yandexCaptchaOnload";flexbe_cli.events.on("yandexCaptchaOnload",()=>{this._loaded=!0,t()}),window.yandexCaptchaOnload||(window.yandexCaptchaOnload=()=>{flexbe_cli.events.trigger("yandexCaptchaOnload")}),flexbe_cli.require(e)})}render(t,e){if(!this.loaded)return;this._unsubscribeCallbacks.forEach(s=>s()),this._unsubscribeCallbacks=[];let i={sitekey:e.captcha.client_key,hl:e.language,invisible:e.visibility==="invisible",hideShield:!0,callback:s=>{this._token=s,e.callbacks.onSuccess(s)}};try{this._widgetId=window.smartCaptcha.render(t,i),this._unsubscribeCallbacks.push(window.smartCaptcha.subscribe(this._widgetId,"token-expired",()=>e.callbacks.onExpired())),this._unsubscribeCallbacks.push(window.smartCaptcha.subscribe(this._widgetId,"network-error",()=>e.callbacks.onError())),this._unsubscribeCallbacks.push(window.smartCaptcha.subscribe(this._widgetId,"javascript-error",()=>e.callbacks.onError()))}catch(s){console.error("Yandex SmartCaptcha render error:",s)}}reset(){if(this._widgetId!=null&&window.smartCaptcha)try{window.smartCaptcha.reset(this._widgetId)}catch(t){console.error("Yandex SmartCaptcha reset error:",t)}this._token=null,this._unsubscribeCallbacks.forEach(t=>t()),this._unsubscribeCallbacks=[]}executeInvisible(){if(window.smartCaptcha)try{window.smartCaptcha.execute(this._widgetId)}catch(t){console.error("Yandex SmartCaptcha execute error:",t)}}},Ft="captcha-modal",$e=class{provider;options;_modal=null;isVisible=!1;isInvisible=!1;isOptional=!1;inModal=!1;constructor(t){this.options={...this.getDefaultsOptions(),...t},this.isVisible=!!this.options.visible,this.isInvisible=!this.options.visible,this.isOptional=this.options.isOptional,this.inModal=this.options.inModal,this.provider=this.createProvider(this.options.provider),this.init().catch(console.error)}getDefaultsOptions(){let t=flexbe_cli.vars.site.captcha||{},e=flexbe_cli.is_admin||!1,i=t.provider||"google",s=!!t.enabled,a=!!t.visible,n=flexbe_cli.vars.site.language||"en",o=!!t.isOptional;return!a&&e&&(s=!1),{isOptional:o,provider:i,enabled:s,visible:a,language:n}}createProvider(t){if(t==="yandex")return new be;if(t==="google")return new ve;throw new Error("Unknown captcha provider")}get enabled(){return this.options.enabled}get loaded(){return this.provider.loaded}get token(){return this.provider.token}async init(){this.enabled&&await this.provider.load({language:this.options.language})}async renderCaptcha({target:t="form",visibility:e}){let i=null;if(e=e||(this.options.visible?"visible":"invisible"),t==="modal"?(e="visible",i=(await this.createModal()).$area[0].querySelector(".captcha"),this.provider.rendered&&this.reset()):t==="form"&&(i=this.options.form.querySelector(".captcha")),!i){console.warn("Captcha target element not found");return}this.provider.render(i,{language:this.options.language,captcha:flexbe_cli.vars.site.captcha,visibility:e,callbacks:{onExpired:()=>{this.options.onExpired&&this.options.onExpired()},onError:()=>{this.options.onError&&this.options.onError()},onSuccess:s=>{this.options.onSuccess&&this.options.onSuccess(s),this.closeModal()}}})}async createModal(){this.closeModal(),$(".m_captcha-modal").remove();let t=$(`
    `);return flexbe_cli.modal.$list.append(t),this._modal=(await flexbe_cli.entity.initArea(t))[0],await flexbe_cli.events.trigger("ui_modal_open",{id:Ft,options:{hash:!1,rise:!0,onClose:()=>{this.token||this.options.onError&&this.options.onError(),this.provider.rendered&&this.reset(),this._modal=null,setTimeout(()=>{t.remove()},300)}}}),this._modal}closeModal(){this._modal&&flexbe_cli.events.trigger("ui_modal_close",{id:Ft})}runInvisibleChallenge(){!this.enabled||!this.loaded||this.provider.executeInvisible()}getToken(){return this.provider.token}reset(){this.provider.reset()}},zt=$e;var at=(()=>{if(typeof process<"u"&&{}.LOG_LEVEL){let t={}.LOG_LEVEL.toLowerCase();if(["debug","info","warn","error"].includes(t))return t}return"error"})();function nt(t){let e=`[${t}]`;return{debug:(...i)=>{["debug"].includes(at)&&console.debug(e,...i)},info:(...i)=>{["debug","info"].includes(at)&&console.info(e,...i)},warn:(...i)=>{["debug","info","warn"].includes(at)&&console.warn(e,...i)},error:(...i)=>{console.error(e,...i)}}}var bs=nt("App");var z=new Map;function we(t,e,i,s=!1){let a=ye(e,s);try{return new Function("ctx",`with (Math) { with (ctx) { ${a} }}`)(i)}catch(n){throw new Error(`[${t}] Function "${a}" (original: "${e}") can't be evaluated`,{cause:n})}}function ye(t,e=!1){if(t.includes("function(")||t.includes("=>"))return t;if(t=String(t).trim(),!e){t=t.replace(/(\d),(\d)/g,"$1.$2");let i="";for(;i!==t;)i=t,t=t.replace(/[\s]*[+\-*/^%(.;]\s*$/,"");let s=(t.match(/\(/g)||[]).length-(t.match(/\)/g)||[]).length;s>0&&(t+=")".repeat(s))}return t=t.replace(/clamp\(([^,]+),([^,]+),([^\)]+)\)/gi,"min(max($1, $2), $3)"),t=t.replace(/([)\wа-яА-Я._]+)\s*\^\s*([(\wа-яА-Я._]+)/g,"$1**$2"),`return (${t})`}function rt(t,e="value",i){if(e==="number")return parseFloat(t);let{d:s,t:a}=flexbe_cli.vars.site.currencyFormat,n=i?.decimalPlaces??0,o=i?.thousandsSeparator?a:"",l=i?.resultText??"",r=flexbe_cli.locale.formatNumber(t,n,{d:s,t:o});return e==="value"||!l?r:xt(l,()=>r)}function Y(t){let e=t.getAttribute("data-calc-value")??t.querySelector("[data-calc-value]")?.getAttribute("data-calc-value")??t.getAttribute("value");if(e!=="")return e}var G="",Ce=class extends HTMLElement{formId="";fieldId="";resultType="value";currentValue=null;currentAnimation=null;constructor(){super(),this.handleUpdate=this.handleUpdate.bind(this),this.attachListeners()}static get observedAttributes(){return["data-form-id","data-result-id","data-result-type"]}connectedCallback(){this.parseAttributes(),this.updateContent()}disconnectedCallback(){this.stopCurrentAnimation(),this.removeListeners()}parseAttributes(){this.formId=this.getAttribute("data-form-id")||"",this.fieldId=this.getAttribute("data-result-id")||"",this.resultType=this.getAttribute("data-result-type")||"value"}attachListeners(){flexbe_cli.events.on("form_event",this.handleUpdate)}removeListeners(){flexbe_cli.events.off("form_event",this.handleUpdate)}handleUpdate(t){t.formId===this.formId&&["calculator_inited","field_changed"].includes(t.type)&&this.updateContent()}updateContent(){if(!this.formId||!this.fieldId){this.textContent=G;return}let t=z.get(this.formId),e=t?.getFieldConfig(this.fieldId);if(!e){this.textContent=G;return}try{let i=t.getFieldValue(this.fieldId,"number"),s=typeof i=="number"&&!Number.isNaN(i)&&isFinite(i);s&&this.currentValue!=null&&e?.smoothAnimation&&typeof anime=="function"?this.animateChange(i):(e?.smoothAnimation&&this.stopCurrentAnimation(),this.textContent=String(t.getFieldValue(this.fieldId,this.resultType)||e.beforeResult||G)),this.currentValue==null&&s&&(this.currentValue=i)}catch{this.textContent=e.beforeResult||G}}stopCurrentAnimation(){this.currentAnimation&&(this.currentAnimation.pause(),this.currentAnimation=null)}animateChange(t){if(this.stopCurrentAnimation(),t==null)return;let e=z.get(this.formId)?.getFieldConfig(this.fieldId);if(!e)return;let i={value:this.currentValue},s=Math.abs(t-this.currentValue),a=Math.min(600,150+s*5);this.currentAnimation=anime({targets:i,value:t,duration:a,easing:"easeInOutQuad",update:()=>{this.textContent=rt(i.value,this.resultType,e)},complete:()=>{this.currentValue=t,this.currentAnimation=null,this.textContent=rt(t,this.resultType,e)}})}};function Ot(t){if(!t.includes("{let e=t.getAttribute("data-calc-name"),i=$(t).closest("[data-type]").attr("data-type");this.fieldsConfigs.set(e,{type:i,input:t.querySelector('input[name*="[value]"]'),beforeResult:t.getAttribute("data-calc-before-result")??"\u2014",resultText:t.getAttribute("data-calc-text")??`{{ ${e} }}`,decimalPlaces:Number(t.getAttribute("data-decimal-places"))||0,thousandsSeparator:t.getAttribute("data-thousands-separator")==="true",smoothAnimation:t.getAttribute("data-smooth-animation")==="true"}),this.updateFieldValue(t)}),this.syncState(),z.set(this.formInstance.elementId,this),this.inited=!0,flexbe_cli.events.trigger("form_event",{type:"calculator_inited",formId:this.formInstance.elementId})}destroy(){z.delete(this.formInstance.elementId),this.inited=!1,this.fieldsValues=new Map,this.state=null}getFieldValue(t,e="value"){let i=this.fieldsConfigs.get(t),s=this.state?.[t];return!s||!isFinite(s)?i?.beforeResult||"":rt(s,e,i)}getFieldConfig(t){return this.fieldsConfigs.get(t)}updateFieldValue(t,e){let i=t.getAttribute("data-calc-name");if(!i)return;let s=$(t).closest("[data-type]").attr("data-type");if(this.fieldsValues.has(i)||this.fieldsValues.set(i,void 0),["radio-radio","select"].includes(s)&&(t.checked||t.selected)&&this.fieldsValues.set(i,Y(t)),s==="checkbox"){let a=t.checked,n=$(t).attr("data-calc-value-off")??0,o=a?Y(t):n;this.fieldsValues.set(i,o)}if(s==="radio-checkbox"&&(!e||e.type==="change")){let a=Number(this.fieldsValues.get(i)??0),n=Number(Y(t)||0),o=t.checked?n:this.inited?-n:0;this.fieldsValues.set(i,a+o)}if(["number","range","hidden","result"].includes(s)){let a=Y(t);s==="number"&&a&&(a=a.replace(/,/g,".")),this.fieldsValues.set(i,a)}}syncState(){this.state=_e(this.fieldsValues);try{[...this.fieldsConfigs.entries()].filter(([t,e])=>e.type==="result").forEach(([t,e])=>{let i=e.input,s=this.getFieldValue(t,"text");i&&(i.value=String(s))})}catch(t){console.debug(t)}}onFieldChange(t,e){e.closest("[data-calc-name]")&&(this.updateFieldValue(e,t),this.syncState())}},Se=class{decimalPlaces;max;min;$input;constructor(t){this.$input=t.find('input:not([type="hidden"]'),this.max=Number(this.$input.data("max")),this.min=Number(this.$input.data("min")),this.decimalPlaces=Number(this.$input.data("decimal-places")||0),this.$input[0]&&(this.$input.val(this.normalize(this.$input.val())),this.setEvents())}normalize(t){return t=this.onlyNumber(t),t=this.decimalPlacesValue(t),!Number.isNaN(this.max)&&!Number.isNaN(this.min)&&(t=this.minMaxValue(t)),t}onlyNumber(t){return t=t.replace(/[^\d.,-]/g,""),t.includes("-")&&(t=t.replace(/-/g,""),t=`-${t}`),t=t.replace(/([.,])[.,]*/g,"$1"),t=t.replace(/^([^.,]*[.,][^.,]*)[.,].*$/,"$1"),+this.decimalPlaces||(t=t.replace(/[.,]/g,"")),t}minMaxValue(t){let e=parseFloat(t.replace(",","."));return Number.isNaN(e)||(e>this.max?t=this.max.toString():ethis.decimalPlaces&&(t=t.replace(new RegExp(`([.,]\\d{${this.decimalPlaces}})\\d*`),"$1")),t}setEvents(){this.$input.on("input",t=>{let e=t.currentTarget,i=e.value;i=this.onlyNumber(i),i=this.decimalPlacesValue(i),e.value=i,this.$input.trigger("change")}),this.$input.on("blur",t=>{let e=t.currentTarget,i=e.value;e.value=this.minMaxValue(i),this.$input.trigger("change")}),this.$input.on("keydown",t=>{let e=t.key,i=e==="ArrowUp";if(!i&&e!=="ArrowDown")return;t.preventDefault();let s=t.currentTarget,a=parseFloat(s.value.replace(",","."))||0,n=this.getStepValue(t.originalEvent),o;i?o=a+n:o=a-n,!Number.isNaN(this.max)&&o>this.max&&(o=this.max),!Number.isNaN(this.min)&&o{r>=s&&r{o>=s&&o{let r=$(l);r.val()===a&&(n.removeAttr(i),r.attr(i,s))})}}function Ie(t){let e=t.find('[data-type="radio-radio"]'),i=t.find('[data-type="radio-checkbox"]');e.length&&e.each((s,a)=>{Ht({$field:$(a),selector:'input[type="radio"]',attribute:"checked",attrValue:"checked"})}),i.length&&i.each((s,a)=>{let n=$(a),o=n.attr("data-default-value")||"",l=n.find("input.form-field-checkbox__input"),r=o.split(/[,;\s]+/).filter(d=>d!=="").map(d=>isNaN(Number(d))?d:Number(d));l.each((d,c)=>{let h=$(c),f=h.attr("value");(r.includes(f)||r.includes(d+1))&&h.attr("checked","checked")})})}function Fe(t){t.find('[data-type="checkbox"]').each((e,i)=>{let s=$(i).attr("data-default-value"),a=$(i).find("input.form-field-checkbox__input");["on",1,"1",!0,"true"].includes(s)&&a.attr("checked","checked"),["off",0,"0",!1,"false"].includes(s)&&a.removeAttr("checked")})}function ke(t){t.find('.form-field[data-type="phone"]:not([data-hidden])').each((e,i)=>{let s=$(i).find("input").not('[type="hidden"]'),a=s[0];if(!s[0])return;let n=$(a).val();$(a).val(n.replace(/[^0-9+\-_()]/g,""))})}var Te=(t,{countriesList:e=[],statesList:i=[]}={})=>{let{addressLine1:s,addressLine2:a,country:n,city:o,region:l,zipCode:r}=t||{},d=e.find(f=>f.value===n)?.title||n,c=n==="US"&&i.find(f=>f.value===l)?.title||l,h=[];switch(n){case"RU":h=[s,a,o,c,r,d];break;case"US":h=[s,a,o,`${c}${r?` ${r}`:""}`,d];break;case"EN":h=[s,a,o,c,r,d];break;case"DE":h=[`${r} ${o}`,s,a,c,d];break;case"FR":h=[`${r} ${o}`,s,a,c,d];break;default:h=[s,a,o,c,r,d];break}return h.filter(f=>f&&f.trim().length>0).join(", ")},Pe=class extends Error{data=null;response=null;name="FormError"},De=class extends Error{name="NetworkError";data=null;response=null},ot=nt("API"),M={},Ve={hash:0,abortPrev:!1,dataType:"json",contentType:"application/x-www-form-urlencoded",asJson:!1,data:{}},qt={codes:{0:"main::error::network",401:"main::error::not_authorized",404:"main::error::page_not_found"},statuses:{parsererror:"main::error::incorrect_answer",error:"main::error::unknown",abort:""}};async function Re(t,e){return Le("GET",t,e)}async function Le(t,e,i){t=t?String(t).trim().toUpperCase():"POST";let s={...Ve,...i,url:e,type:t};s.asJson&&typeof s.data=="object"&&(s.data=JSON.stringify(s.data)),s.data&&typeof s.data=="string"&&(s.contentType="application/json");let a=`${e}:${s.hash||0}`;return s.abortPrev&&Be(a),new Promise((n,o)=>{M[a]=$.ajax(s).done((d,c,h)=>{let f=h.status,u=c||h.statusText;d?.status??!0?l({payload:d}):r({response:h,payload:d,statusCode:f,statusText:u})}).fail((d,c)=>{let h=d.status,f=c||d.statusText,u=d.responseJSON;f!=="abort"&&r({response:d,payload:u,statusCode:h,statusText:f})});function l({payload:d}){return ot.debug("Request successful",{url:e,type:t,statusCode:200}),n(d)}function r({response:d,payload:c={},statusCode:h,statusText:f="error"}){let u,p=c.message||c.error||c.detail;return typeof p=="object"&&p.message!=null&&(p=p.message),p||(p=qt.codes[h]||qt.statuses[f]),h===401&&(ot.warn("Unauthorized request, redirecting to login",{url:e,statusCode:h}),window.location.href=`${flexbe.vars.app.url}/login/`),c.violations&&Array.isArray(c.violations)?(u=new Pe(tr(p)),c.violations=c.violations.map(g=>({...g,name:g.propertyPath.replace(/\[(\w*)]/g,".$1").slice(1)}))):u=new De(tr(p)),u.response=d,u.data=c,ot.error("Request failed",u,{url:e,statusCode:h,statusText:f}),o(u)}})}function Be(t){try{if(t){let e=M[t];typeof e=="number"&&clearTimeout(e),typeof e=="object"&&(e.abort(),delete M[t])}else Object.values(M).forEach(e=>{typeof e=="object"&&e.abort()}),M={}}catch{}}var L=null,Me=class{$component;shippingStore=flexbe_cli.ecommerce.shippingStore;cartStore=flexbe_cli.ecommerce.cartStore;promotionStore=flexbe_cli.ecommerce.promotionStore;id;$shipping;$addressFields;constructor({$component:t,id:e}){this.$component=t,this.id=e,this.$shipping=this.$component.find('[data-type="shipping"]'),this.$shipping.length&&(this.$addressFields={},this.init())}async init(){await this.loadAddressMeta(),this.setupScrollHandlers(),this.setupAddressFields(),this.setupShippingMethods(),this.onSelectMethod(),this.onUpdatePrices(),this.updateScrollClasses(),this.updateShippingAddress(),this.updateShippingSwitchVisibility(),this.updateAddressFieldsConfig(),this.setupEventListeners()}setupScrollHandlers(){this.$shipping.find(".form-field-shipping-inner").on("scroll",this.updateScrollClasses.bind(this))}updateScrollClasses(t){(t?$(t.target).closest(".form-field-shipping-inner"):this.$shipping.find(".form-field-shipping-inner")).each((e,i)=>{let s=$(i),a=s.closest(".form-field-shipping-wrap"),n=Math.round(s.scrollTop()),o=i.scrollHeight,l=i.clientHeight;a.removeClass("scroll-up scroll-down"),n>0&&a.addClass("scroll-up"),n{this.updateCountriesAndStates(),this.updateShippingAddress()}),this.$shipping.on("input change",".form-fields-address input, .form-fields-address select",()=>this.updateShippingAddress())}setupShippingMethods(){let t=this.shippingStore;this.$shipping.on("change",".form-field-switch input[type=radio]",e=>{let i=e.target;t.dispatch("selectType",i.value),this.scrollToActiveMethod(!1)}),this.$shipping.on("change",".form-field-shipping-item input[type=radio]",e=>{let i=e.currentTarget;if(i.checked){let s=i.closest("[data-shipping]")?.getAttribute("data-shipping");s&&t.dispatch("selectMethod",s)}})}setupEventListeners(){setTimeout(()=>{this.shippingStore&&this.shippingStore.on(`dispatch.form-component-${this.id}`,({name:t})=>{t==="selectMethod"&&this.onSelectMethod()}),this.cartStore&&this.cartStore.on(`dispatch.form-component-${this.id}`,()=>{this.onUpdatePrices()}),this.promotionStore&&this.promotionStore.on(`dispatch.form-component-${this.id}`,()=>{this.onUpdatePrices()})},10)}async updateCountriesAndStates(){let t=this.shippingStore,e=t.activeMethod,i=this.$addressFields.country.closest(".form-field"),s=this.$addressFields.state.closest(".form-field"),a=this.$shipping.find(".form-field-shipping-item__address");if(i.addClass("loading"),s.addClass("loading"),a.addClass("loading"),t.getList("pickup").forEach(h=>{let f=this.$shipping.find(`.form-field-shipping-item[data-shipping="${h.id}"] .form-field-shipping-item__address`),u=Te(h.address,{countriesList:L?.countries||[],statesList:L?.states||[]});f.text(u)}),a.removeClass("loading"),!e)return;let n=e.isInternationalDelivery,o=this.$addressFields.country.val(),l=!this.$addressFields.country.prop("disabled"),r=n?e.availableCountry:[flexbe_cli.vars.site.country],d=(L?.countries||[]).filter(h=>!r.length||r.includes(h.value)).map(h=>({value:h.value,label:h.title}));if(l){if(it(this.$addressFields.country[0],d),!o||!d.some(h=>h.value===o)){let h=flexbe_cli.vars.site.country;h&&d.some(f=>f.value===h)?this.$addressFields.country.val(h):d.length>0&&this.$addressFields.country.val(d[0].value)}this.$addressFields.country.trigger("syncSelectUI"),i.removeClass("loading")}let c=n&&o==="US"||flexbe_cli.vars.site.country==="US";if(this.updateAddressFieldsConfig(),c){let h=(L?.states||[]).map(f=>({value:f.value,label:f.title}));it(this.$addressFields.state[0],h),this.$addressFields.state.trigger("syncSelectUI")}s.removeClass("loading")}async loadAddressMeta(){if(L)return;let t=await Re(`/mod/metadata/?filter=country,state&language=${flexbe_cli.vars.page.language}`);t&&(L=t)}updateShippingAddress(){let t=this.shippingStore,e={country:this.$addressFields.country.val(),addressLine1:this.$addressFields.addressLine1.val(),addressLine2:this.$addressFields.addressLine2.val(),city:this.$addressFields.city.val(),region:this.$addressFields.region.val(),state:this.$addressFields.state.val(),zipCode:this.$addressFields.zipCode.val()};t.dispatch("setAddress",e)}updateShippingSwitchVisibility(){let t=this.shippingStore,e=t.getList("delivery").length>0,i=t.getList("pickup").length>0;this.$shipping.find('[data-field-id="shipping-type"]').toggle(e&&i)}updateShippingList(){let t=this.shippingStore.activeType,e=this.$shipping.find(".form-field-shipping-wrap"),i=e.filter(`[data-shipping-type="${t}"]`);e.hide(),i.show()}scrollToActiveMethod(t=!0){let e=this.shippingStore.activeMethod;if(!e)return;let i=this.$shipping.find(".form-field-shipping-item").filter(`[data-shipping="${e.id}"]`),s=i.closest(".form-field-shipping-inner")[0];if(s){let a=i[0].getBoundingClientRect().top-s.getBoundingClientRect().top+s.scrollTop-40;s.scrollTo({top:a,behavior:t?"smooth":"auto"})}}syncSwitch(){let t=this.shippingStore.activeType,e=this.$shipping.find(".form-field-switch input[type=radio]"),i=e.filter(`[value="${t}"]`);i.length&&(e.prop("checked",!1),i.prop("checked",!0)),this.updateShippingList()}updateAddressFieldsConfig(){let t=this.shippingStore.activeMethod,e=t.addressFieldsConfig,i=t?.isInternationalDelivery,s=i&&this.$addressFields.country.val()==="US"||flexbe_cli.vars.site.country==="US",a={addressLine1:{show:e?.addressLine1?.show??!0,required:e?.addressLine1?.required??!0},addressLine2:{show:e?.addressLine2?.show??!1,required:e?.addressLine2?.required??!1},country:{show:i||e?.country?.show||!1,required:i||e?.country?.required||!1},state:{show:s&&(e?.region?.show||!1),required:s&&(e?.region?.required||!1)},region:{show:!s&&(e?.region?.show||!1),required:!s&&(e?.region?.required||!1)},city:{show:e?.city?.show??!1,required:e?.city?.required??!1},zipCode:{show:e?.zipCode?.show??!1,required:e?.zipCode?.required??!1}};Object.entries(a).forEach(([n,{show:o,required:l}])=>{let r=this.$shipping.find(`[data-field-id="${n}"]`),d=r.closest(".form-field-address__row:not(.form-field-address__row--multiple)"),c=r.find(".form-field-title"),h=!o||!t?.deliveryAddressEnabled;d.attr("data-hidden",h?"true":null),r.attr("data-hidden",h?"true":null),r.find("input, select, textarea").prop("required",l).attr("disabled",h?"disabled":null);let f=c.text().replace("*","").trim();c.text(f+(l?" *":""))})}onSelectMethod(){let t=this.shippingStore.activeMethod;if(!t)return;let e=this.$shipping,i=e.find(".form-field-shipping-item"),s=e.find(".form-field-shipping-fields"),a=i.filter(`[data-shipping="${t.id}"]`),n=s.filter(`[data-shipping="${t.id}"]`),o=e.find('[data-type="address"]');i.removeClass("form-field-shipping-item--active"),a.addClass("form-field-shipping-item--active"),s.removeClass("form-field-shipping-fields--active"),n.addClass("form-field-shipping-fields--active"),s.find("input, textarea, select").prop("disabled",!0),n.find("input, textarea, select").prop("disabled",!1),i.find("input[type=radio]").prop("checked",!1),a.find("input[type=radio]").prop("checked",!0),o.attr("hidden",t.deliveryAddressEnabled?null:"true"),o.find("input, textarea, select").prop("disabled",!t.deliveryAddressEnabled),this.scrollToActiveMethod(),this.updateCountriesAndStates(),this.updateAddressFieldsConfig(),this.syncSwitch()}onUpdatePrices(){let t=this.shippingStore;this.$shipping.find(".form-field-shipping-item").each((e,i)=>{let s=i.getAttribute("data-shipping"),a=$(i),n=a.find(".item-price"),o=a.find(".delimiter"),l=a.find(".form-field-shipping-item__min-total"),r=a.find(".min-total"),d=t.getPrice(s);if(!d.notHasFree&&(!d.untilFree||!d.notFixedPrice)?(n.text(d.currentFormatted),o.text("\u2013")):(n.text(""),o.text("")),d.minTotal){let c=`${flexbe_cli.locale.tr("form::delivery_min_total_tip",{sum:d.minTotalFormatted})}`;r.text(c),l.show()}else l.hide()})}},ze=class extends w{static is="form";constructor(...t){super(...t),this.id=this.core.id,this.eventId=`.${this.id}`,this.busy=!1,this.submitDisabled=!1,this.products=null,this.paymentData=null,this.formInited=!1,this.$form=this.$component.is("form")?this.$component:this.$component.find("form"),this.$formSubmit=this.$component.find(".form-submit"),this.$button=this.$formSubmit.find(".component-button"),this.$minSumContainer=this.$formSubmit.find(".cart-min-sum-text"),this.$fields=this.$component.find(".form-fields"),this.action=this.$component.find('input[name="action"]').val(),this.payProducts=this.$component.find('input[name="products"]').val(),this.isInline=this.$component.attr("data-inline")?1:0,this.noSend=this.$component.attr("data-no-send")?1:0,this.inCart=this.$component.closest(".w_widget").length>0,this.inModal=this.$component.closest(".m_modal").length>0,this.elementId=this.inCart?this.$component.parents(".w_widget").attr("data-id"):this.$component.parents(".element-item").attr("data-id"),this.$masked=this.$component.find("[data-mask]"),this.$calendars=this.$component.find(".form-field-date__input"),this.$file=this.$component.find(".file-input-outer"),this.hasCalculatorField=!!this.$component.find('[data-type="result"]').length,this.$file.length&&(this.$itemTemplateFile=this.$itemTemplateFile||this.$file.find("template").clone()),this.$masked.length&&(this.hasMaskedField=!0,this.require.push("/_s/lib/imask/imask.min.js")),this.$calendars.length&&(this.hasCalendarField=!0,this.require.push("/_s/lib/scroll-lock/scroll-lock.min.js"),this.require.push("/_s/lib/calendar/dist/js/calendar.js?v2.3.13","/_s/lib/calendar/dist/css/calendar.min.css?v2.3.5"))}onLoad(){(this.core.wasScreen||this.core.wasBeside)&&(this.hasMaskedField&&this.inputMask(),this.hasCalendarField&&this.inputDate()),flexbe_cli.events.trigger("form_event",{type:"form_inited",formId:this.elementId})}onScreen({state:t}){if(!t)return!1;this.formInit()}onBeside({state:t}){if(!t)return!1;this.formInit()}onOpen(t={}){let{top:e}=this.component.getBoundingClientRect();!flexbe_cli.run.is_screen_mobile&&flexbe_cli.run.is_preview&&flexbe_cli.resize.viewportHeight>e+100&&this.$component.find(".form-field").eq(0).find("input, textarea").eq(0).focus(),t&&t.data&&this.setData(t.data)}onResize(){this.$component.find(".range-outer").trigger("resize")}formInit(){if(this.formInited)return!1;this.formInited=!0,this.$form.attr("action",`/mod/project/${flexbe_cli.group_id}/lead/send/`),this.unbindEvents(),this.bindEvents(),this.noSend||this.initCaptcha(),this.customize()}customize(){this.fileInput(),this.customSelect(),this.textResize(),this.inputRange(),this.inputNumber(),this.shippingField(),Ie(this.$component),Fe(this.$component),ke(this.$component),this.hasCalculatorField&&this.initCalculator(),this.hasMaskedField&&this.isLoaded&&this.inputMask(),this.hasCalendarField&&this.isLoaded&&this.inputDate(),this.$component.find(".form-field-range").trigger("resize")}unbindEvents(){this.$component.off(this.eventId),this.$form.off(this.eventId)}bindEvents(){let t=this.$component.find('.form-field-text__input, .form-field-text__textarea, .form-field-range__input, input[type="checkbox"], input[type="radio"]'),e=this.$component.closest(".scroller");t.on(`keydown${this.eventId}`,i=>{let s=i.key||"",a=s==="Enter",n=i.ctrlKey||i.metaKey,o=i.currentTarget,l=o.getAttribute("data-check");if(a){if(o.tagName==="TEXTAREA")return;i.preventDefault();let r=t.index(i.currentTarget),d=t.eq(r+1);d.length?d.trigger("focus"):this.$form.trigger("submit")}if(l==="phone"&&!o._mask&&!n&&s.length===1&&/[^\d ()+-]/.test(s)||l==="email"&&/[\s,]/.test(s))return!1}),t.on(`input${this.eventId} change${this.eventId}`,i=>{let s=i.currentTarget,a=$(s);a.attr("value",s.value),Ee(a),this.handleFieldChange(i,s)}),this.$component.find("select").on(`change${this.eventId}`,i=>{let s=i.currentTarget,a=$(s).find("option:selected")[0];this.handleFieldChange(i,a)}),this.hasCalendarField&&(this.inModal||this.inCart)&&setTimeout(()=>{let i=this.$calendars.toArray().map(s=>$(s).data("calendar")).filter(s=>s);e.on(`scroll${this.eventId}`,()=>{i.forEach(s=>s.main.toPosition())})},150),this.$formSubmit.find('button[type="button"]').on(`click${this.eventId}`,()=>{this.$form.trigger("submit")}),this.$form.off("submit").on(`submit${this.eventId}`,i=>((async()=>{if(typeof this.beforeSend=="function"&&await this.beforeSend()===!1)return!1;try{await this.sendForm()}catch(a){alert(a.message)}})(),i.preventDefault(),i.stopPropagation(),!1))}setData(t){if(!t)return!1;t&&t.fields&&this.addFields(t.fields),t&&t.items&&this.addItems(t.items)}defineBeforeSend(t){typeof t=="function"&&(this.beforeSend=t)}defineAfterSent(t){typeof t=="function"&&(this.afterSent=t)}defineOnRequestError(t){typeof t=="function"&&(this.onRequestError=t)}addFields(t,e=!0){let i=this.$component.find(".form-fields-advanced");!t.length||!i[0]||(e&&this.resetFields(),t.forEach(s=>{i.find(`input[name="${s.name}"]`).remove();let a=$("").attr("type",s.type).attr("name",s.name).attr("value",s.value);i.append(a)}))}resetFields(){let t=this.$component.find(".form-fields-advanced");t[0]&&t.empty()}addItems(t=[]){if(!t||!t.length){this.products=null;return}let e=0;t=t.map(i=>typeof i!="object"?{}:(i.price=i.price==null?null:parseFloat(i.price)||0,i.title=typeof i.title=="string"&&i.title.trim()||i.title||"",e+=(i.price??0)*i.count||0,i)),this.products=t||[],e&&(this.pays={price:e,desc:""})}async sendForm(t){if(this.noSend)return!1;if(this.submitDisabled){setTimeout(()=>{this.$formSubmit.addClass("shake"),setTimeout(()=>{this.$formSubmit.removeClass("shake")},500)},30);return}if(this.busy||!this.validateForm())return!1;this.captcha&&t&&this.captcha.reset();let e=this.captcha&&this.captcha.getToken();if(this.captcha&&this.captcha.enabled&&!this.captcha.isOptional&&!e){if(this.captcha.isInvisible){this.captchaInvisibleRun();return}if(this.captcha.inModal){this.captchaModalRun();return}}this.addSubmitting();let i=new FormData(this.$form.get(0)),s=i.get("id");if(i.append("is_ajax","true"),s.includes("cart_")||i.append("forceUpdateProduct","true"),i.delete("products"),this.products)i.append("products",JSON.stringify(this.products));else if(this.action==="pay"&&this.payProducts){let r=JSON.parse(this.payProducts),d;if(r=Array.isArray(r)?r[0]:r,r.productId){let c=flexbe_cli.ecommerce.productsStore.getProduct(r.productId);if(c){let h=c.currentVariant(r.variantId).getCartData("image");h.img=O(h.img[0]),d=[{...h,count:1,strict:r.strict,id:`product_${r.productId}:${r.variantId||"default"}`}]}}else r.title&&(String(r.price).startsWith("i.delete(r));let o=this.$form.attr("action"),l={type:"POST",dataType:"json",contentType:"application/json",data:JSON.stringify(Lt(i))};try{let r=await flexbe_cli.helpers.fetch(o,l);r.pay!=null&&(this.paymentData=r.pay),this.showDone(i,r),this.captchaRemoveError(),this.action!=="redirect"&&this.clearSubmitting(!0)}catch(r){let d=r.data;if(d?.captcha){if(this.captcha)e?this.captchaAddError():this.captcha.isVisible?(this.captcha.inModal=!0,this.captchaModalRun()):this.captcha.isInvisible&&(this.captcha.isOptional=!1,this.captchaInvisibleRun());else{let c=d.captcha==="visible";await this.initCaptcha({enabled:!0,visible:c,isOptional:!0}),c?this.captchaModalRun():(this.captcha.isOptional=!1,this.captchaInvisibleRun())}return}await this.sendFormError(r)}}async sendFormError(t){this.clearSubmitting(),console.error("sendForm error: ",t),typeof this.onRequestError=="function"?await this.onRequestError(t,this):t.status&&t.status===500&&alert("Network error")}addSubmitting(){this.busy=+Date.now(),this.$component.addClass("submitting"),this.$button.addClass("submitting")}clearSubmitting(t=!1){this.busy&&(this.$component.removeClass("submitting"),this.$button.removeClass("submitting"),t?(this.$component.addClass("success"),this.$button.addClass("success"),this.$component.find(".file-list").empty(),this.$component.find("input.value").remove(),setTimeout(()=>{this.busy=!1,this.$component.removeClass("success"),this.$button.removeClass("success")},1e3)):this.busy=!1)}showDone(t,e={}){let i=Bt(t,{leadId:e.lead_id,pays:e.pay}),s={leadId:e.lead_id,formData:i};if(typeof this.afterSent=="function"&&this.afterSent(),flexbe_cli.stat.reachGoals({mainGoal:flexbe_cli.stat.getGoal("order_done"),goal:this.$component.find('input[name="goal"]').val(),htmlGoal:this.$component.find('textarea[name="goal_html"]').val()},s),this.action==="close")flexbe_cli.events.trigger("ui_modal_close");else if(this.action==="pay")if(typeof this.paymentData<"u"&&this.paymentData!==null){if(this.paymentData.pay_link.length>0){let n=`${window.location.origin+window.location.pathname+(window.location.search?`${window.location.search}&`:"?")}pay_id=${this.paymentData.pay_id}&h=${this.paymentData.pay_hash}`;try{window.history.pushState(null,null,n),setTimeout(()=>{flexbe_cli.events.trigger("pay",{action:"init"})},200)}catch{setTimeout(()=>{document.location=n},500)}}}else window.location.hash="pay",flexbe_cli.events.trigger("pay",{action:"success",withoutPay:!0});else if(this.action==="redirect"){let n=this.$component.find('input[name="action_redirect"]'),o;n&&n.length&&(o=n.val()),o&&setTimeout(()=>{flexbe_cli.helpers.gotoLink(o),this.clearSubmitting(!0)},500)}else if(this.action==="code"){if(!flexbe_cli.run.is_preview)return;(async o=>{let l=this.$component.data("code")||"",r=Object.getPrototypeOf(async()=>{}).constructor;await new r("formData",l)(o)})(i).catch(o=>{console.error("Error executing action code:",o)})}else{let n=this.$component.find("[data-modal-id]").attr("data-modal-id");/^(form|done)$/.test(n)&&!flexbe_cli.modal.find(n)&&(n=`${String(this.id).split("_")[0]}_${n}`),flexbe_cli.events.trigger("ui_modal_open",{id:n})}let a=new Event("submitted",{bubbles:!0});this.$form.get(0).dispatchEvent(a),this.resetForm()}resetForm(){this.$component.find(".file-input-outer").removeClass("active");let t=this.$fields.find("input, textarea, select"),e=t.not("select").not('[type="hidden"]').not(".form-field-range__input").not(".g-recaptcha-response"),i=t.filter("select"),s=t.filter(".form-field-range__input");i.each((a,n)=>{st.getInstance(n).reset()}),s.each((a,n)=>{n.value=n.getAttribute("data-value"),n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))}),e.each((a,n)=>{let l=n.defaultChecked;if(["radio","checkbox"].includes(n.type))l?n.setAttribute("checked",!0):n.removeAttribute("checked"),n.checked=l;else{n.removeAttribute("value"),n.value="",n.removeAttribute("data-mask-complete");let r=n._mask;r&&r.updateValue()}n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))}),this.captcha&&this.captcha.enabled&&(this.captcha.reset(),this.captchaRemoveError()),this.paymentData=null,Vt(),this.$form.get(0).reset(),this.resetFields(),this.hasCalculatorField&&(this.calculator.destroy(),this.initCalculator())}validateForm(){let t=!0,e=!0,i=!0;this.removeFieldsErrors();let s=this.$component.find(".policy-data-warning--checkbox"),a=s.find("input")[0];a&&!a.checked&&(t=!1,s.addClass("is_error")),this.$component.find(".form-field[data-type]:not([data-hidden])").each((o,l)=>{let r,d=$(l),c=d.find("input, textarea, select").not('[type="hidden"]'),h=c[0],f=d.attr("data-type");if(!h&&f!=="captcha")return;let u=h?.type,p=u==="file"?d.find("input.value"):h?.value;if(["radio","checkbox"].includes(u)&&(p=c.toArray().some(g=>g.checked)),f==="captcha"){if(!this.captcha)return;r=this.captcha.getToken()?!1:flexbe_cli.locale.tr("form::captcha_not_checked")}else r=this.checkField(d,c);r&&(Ae(l,r),e=!1),i&&p&&f!=="captcha"&&(i=!1)}),this.$fields.removeClass("all-fields-empty"),this.$fields.outerWidth(),e||this.$fields.addClass("has-error");let n=this.$component.find(".is_error");return n.addClass("animate"),setTimeout(()=>{n.removeClass("animate")},500),i&&(this.$fields.toggleClass("all-fields-empty",i),e=!1),e&&t}checkField(t,e){let i=e[0];if(i.disabled||i.hidden)return!1;let s=i.type,a=s==="file"?t.find("input.value"):i.value;["radio","checkbox"].includes(s)&&(a=e.toArray().some(d=>d.checked));let n=i.required,o=i.getAttribute("data-check")||!1,l=i._mask&&i.getAttribute("data-mask")||!1,r=n&&!a?"form::required":!1;if(l)!n&&!a||i.getAttribute("data-mask-complete")||(s==="tel"&&a?r="form::phone":s==="text"&&a?r="form::text":r="form::required");else if(o)if(o==="date"||o==="datetime"){let d=$(i).data("calendar"),c=d&&d.input.checkError();c&&(r=c)}else a.length&&s==="email"?/^(([^\s"(),.:;<>@[\\\]]+(\.[^\s"(),.:;<>@[\\\]]+)*)|(".+"))@((\[(?:\d{1,3}\.){3}\d{1,3}])|(([\wЁА-яё-]+\.)+[A-Za-zЁА-яё]{2,}))$/.test(a)||(r="form::email"):a.length&&s==="tel"?/[^\d\s()+-]/.test(a)?r="form::digits":a.replace(/\D/g,"").length<5&&(r="form::phone_minlength"):s==="file"&&(n&&!a.length?r="form::required":t.hasClass("loading")?r="form::loading":r=!1);return r=r&&flexbe_cli.locale.tr(r)||!1,r}removeFieldsErrors(){this.$fields.removeClass("has-error"),this.$component.find(".is_error").removeClass("is_error animate"),this.$component.find(".allocate-space-for-error").removeClass("allocate-space-for-error"),this.$fields.outerWidth()}disableSubmit(t){this.submitDisabled=!0,flexbe_cli.run.is_mobile?this.$minSumContainer.text(t):this.$formSubmit.attr("data-tip",t||""),this.$button.attr("disabled","disabled"),flexbe_cli.tip.init(this.$formSubmit)}enableSubmit(){this.submitDisabled=!1,flexbe_cli.run.is_mobile?this.$minSumContainer.empty():this.$formSubmit.removeAttr("data-tip"),this.$formSubmit.removeAttr("data-tip"),this.$button.removeAttr("disabled"),flexbe_cli.tip.destroy(this.$formSubmit)}async initCaptcha(t){this.captcha||(this.captcha=new zt({...t,id:this.id,form:this.$component[0],inModal:this.isInline,onSuccess:()=>{this.captchaRemoveError(),this.clearSubmitting(),(this.captcha.inModal||this.captcha.isInvisible)&&this.sendForm()},onError:()=>{this.captchaAddError()}}),await this.captcha.init(),this.captcha.enabled&&await this.captcha.renderCaptcha({target:"form"}))}captchaAddError(t){if(!this.captcha||!this.captcha.enabled)return;t==null&&(t=flexbe_cli.locale.tr("form::captcha_error"));let e=this.$component.find(".captcha-global-error");e.find(".error-text").text(t),e.addClass("show"),this.busy&&this.clearSubmitting()}captchaRemoveError(){if(!this.captcha||!this.captcha.enabled)return;let t=this.$component.find('.form-field[data-type="captcha"]'),e=this.$component.find(".captcha-global-error");t.removeClass("is_error allocate-space-for-error"),e.removeClass("show")}captchaModalRun(){!this.captcha||!this.captcha.enabled||!this.captcha.loaded||this.captcha.renderCaptcha({target:"modal"})}captchaInvisibleRun(){if(!this.captcha||!this.captcha.enabled||!this.captcha.loaded||this.captcha.isVisible)return;this.addSubmitting(),this.captcha.runInvisibleChallenge();let t=this.busy;setTimeout(()=>{t===this.busy&&this.clearSubmitting()},2500)}fileInput(){let t=this.$component,e=this.eventId,i=this.$itemTemplateFile?.html();Dt(t,e,i)}textResize(){this.$component.find(".autosize").each((t,e)=>{let i=e.offsetHeight-e.clientHeight,s=$(e),a=getComputedStyle(e),n=+s.attr("rows")||0,o=parseInt(a.borderTop,10)+parseInt(a.borderBottom,10),l=parseInt(a.paddingTop,10)+parseInt(a.paddingBottom,10),r=Math.round(+a.lineHeight.split("px")[0]);if(flexbe_cli.run.is_ios){let c=parseInt(a.textSizeAdjust||a.webkitTextSizeAdjust||"120%",10)/100;r/=c}s.removeAttr("data-autoresize"),s.off(".autoresize").on("keyup.autoresize input.autoresize",d),s.css("minHeight",`${o+l+r*n}px`);function d(c){let h=c.currentTarget;h.style.height=`${h.scrollHeight+i}px`}})}customSelect(){this.$component.find(".dropdown-container").remove();let t=this.$component.find("select.atom-custom-select"),e={dropdownClass:this.$component.hasClass("style-underlined")?`sharp size--medium select-container-${this.elementId} `:`size--medium select-container-${this.elementId}`};t.each((i,s)=>{let a=$(s).closest('[data-type="select"]');Ht({$field:a,selector:"option",attribute:"selected",attrValue:"selected"});let n=()=>{a.removeClass("active")},o=()=>{a.addClass("active"),a.siblings('[data-type="select"]').removeClass("active")};st.create({element:s,config:e,onCollapse:n,onActivate:o})})}shippingField(){this.shippingManager=new Me({$component:this.$component,id:this.id})}inputRange(){this.$component.find(".form-field-range").each((t,e)=>new kt($(e)))}inputNumber(){this.$component.find('[data-type="number"]').each((t,e)=>new Se($(e)))}initCalculator(){try{this.calculator=new xe({formInstance:this}),this.calculator.init()}catch(t){console.error(t)}}inputMask(){return typeof IMask>"u"?!1:(this.hasMaskedField=!1,this.$masked.each((t,e)=>{Rt(e);let i=!!e.getAttribute("data-placeholder"),s=e._mask;i&&s&&($(e).on(`focus${this.eventId}`,()=>{s.updateOptions({lazy:!1})}),$(e).on(`blur${this.eventId}`,()=>{if(!s.unmaskedValue){let a=s.mask.replace(/\*/g,"_"),n=s.value;s.updateOptions({lazy:!0}),(!s.masked.rawInputValue||a===n)&&(s.unmaskedValue="",s.value="",s.updateValue())}}))}),!0)}inputDate(){this.hasCalendarField=!1;let t=this.$component.closest(".scroller")[0];return this.$calendars.each((e,i)=>{Tt(i,t)}),!0}handleFieldChange(t,e){this.calculator&&this.calculator.onFieldChange(t,e),flexbe_cli.events.trigger("form_event",{type:"field_changed",formId:this.elementId,element:e})}},Wt=class extends ze{};flexbe_cli.entity.setClientJs("element","form01",{isPure:!0,components:[Wt]});function Oe(t){t.params.virtualTranslate=!0,t.params.cssMode=!0}var lt="swiper-slide",Ut=class extends w{static is="slider";require=["/_s/lib/swiper8/dist/swiper-bundle.min.js?v847"];constructor(...t){super(...t);let{component:e}=this;this.swiper=null,this.initialSlide=0,this.index=$(e).closest("[data-item-id]").attr("data-item-id"),this.sliderEl=e.classList.contains("swiper")?e:e.querySelector(".swiper"),this.paginationEl=e.querySelector(".slider-pagination"),this.prevEl=e.querySelector('.slider-prev, [data-direction="prev"]'),this.nextEl=e.querySelector('.slider-next, [data-direction="next"]'),this.$component.on("bringIntoView",i=>{let s=this.swiper,a=$(this.sliderEl).find(`.${lt}`),n=$(i.target).closest(`.${lt}`),o=a.index(n);s?o!==-1&&s.slideTo(o):this.initialSlide=o}),this.setSwiperOptions()}onLoad(){this.inScreen&&!this.swiper&&this.initSwiper()}onScreen({state:t}){!t||!this.isLoaded||this.swiper||this.initSwiper()}onView({state:t}){this.isLoaded&&(t&&!this.swiper&&this.initSwiper(),this.swiper&&this.toggleAutoplay({state:t}))}onResize(){this.swiper&&(this.setSliderSize(),this.setThumbnailsSize(),this.swiper&&this.swiper.initialized&&this.swiper.update())}onDestroy(){this.destroySwiper()}onHideShowUI(t){this.setSwiperOptions(t!=="editor"),this.destroySwiper(),this.initSwiper()}setSwiperOptions(t=flexbe_cli.run.is_preview){let e=this.paginationEl&&this.paginationEl.getAttribute("data-type")||"bullets",i=this.paginationEl&&this.paginationEl.getAttribute("data-direction")||"horizontal",s=!!Number(this.$component.attr("data-loop")),a=Number(this.$component.attr("data-autoplay"));this.options={paginationType:e,direction:i,count:this.$component.attr("data-count"),loop:t&&s,autoplay:t&&a||!1,effect:this.$component.attr("data-effect")||"slide",slidesPerView:"auto"}}initSwiper(){if(this.swiper||typeof Swiper>"u")return!1;let{options:t,component:e,core:i,root:s,index:a,sliderEl:n,paginationEl:o,prevEl:l,nextEl:r}=this,d=`${i&&i.id||"-"}:${a}`,{count:c,loop:h,paginationType:f,effect:u,direction:p}=t,g=flexbe_cli.theme_id===4,m=this.owner.closest(".swiper-inited"),b=t.autoplay?{delay:t.autoplay*1e3,stopOnLastSlide:!h,disableOnInteraction:!1,waitForTransition:!1}:!1,C=this.initialSlide;flexbe_cli.run.is_preview||(s._sliderState?s._sliderState[d]&&(C=Math.max(0,Math.min(c-1,s._sliderState[d])||0)):s._sliderState={},s._sliderState[d]=C);let P={el:o,type:f,clickable:!0,dynamicBullets:g,dynamicMainBullets:3};f==="thumbs"&&(P.type=!1,P.el=null,this.thumbsSwiper=new Swiper(o,{cssMode:!0,loop:!1,slidesPerView:"auto",normalizeSlideIndex:!1,direction:p}));let v=new Swiper(n,{init:!1,speed:350,nested:m,slideClass:lt,initialSlide:C,autoplay:b,pagination:P,thumbs:{swiper:this.thumbsSwiper},navigation:{prevEl:l,nextEl:r},effect:u,rewind:h,roundLengths:!0,preventInteractionOnTransition:!0,updateOnWindowResize:!1,slidesPerView:t.slidesPerView,simulateTouch:!flexbe_cli.run.isTouch&&flexbe_cli.run.is_preview,longSwipesMs:100,longSwipesRatio:.1,preloadImages:!1,touchReleaseOnEdges:!1,runCallbacksOnInit:!1});if(this.swiper=v,u==="fade"?W(v):g&&Oe(v),v.onAny((y,_)=>{v.el.dispatchEvent(new CustomEvent(`swiper:${y}`,{detail:_,bubbles:!1,cancelable:!0}))}),v.on("init",()=>{if(!v.slides)return;this.setSliderSize(),this.setThumbnailsSize(),this.swiper!=null&&this.swiper.$el.addClass("swiper-inited"),$(l).add(r).add(o).removeClass("disabled");let y=v.slides[C],_=v.visibleSlides||[v.slides[C]];this.thumbsSwiper&&this.thumbsSwiper.visibleSlides?.length&&_.push(...this.thumbsSwiper.visibleSlides),B(_),y&&T(y,!1,"sliderActivate"),this.toggleAutoplay({state:this.inView})}),this.thumbsSwiper&&this.thumbsSwiper.on("slideChange",$.debounce(y=>{B(y.visibleSlides)},50)),v.on("slideChange",$.debounce(()=>{if(!v.initialized)return;flexbe_cli.run.is_preview||(s._sliderState[d]=v.realIndex);let y=v.slides[v.previousIndex],_=v.slides[v.activeIndex],Kt=_&&_.getAttribute("data-type"),Xt=v.previousIndex{$(n).addClass("swiper-in-interacting")}),v.on("touchEnd",()=>{$(n).removeClass("swiper-in-interacting")}),v.params.cssMode){let y;v.on("slideChange",()=>{clearTimeout(y),v.animating=!0,v.allowSlidePrev=!1,v.allowSlideNext=!1,y=setTimeout(()=>{v.animating=!1,v.allowSlidePrev=!0,v.allowSlideNext=!0},150)})}this.$component.off("reduceSliderControls").on("reduceSliderControls",(y,{state:_=!0})=>{this.preventAutoplay=!!_,this.preventAutoplay&&this.toggleAutoplay({state:!1})}),this.$component.off("pointerenter").one("pointerenter",()=>{let y=Array.from(v.slides||[]);B([v.activeIndex-1,v.activeIndex+1].map(_=>y.at(_)))}),this.$component.off("pointerdown wheel").on("pointerdown wheel",()=>{this.toggleAutoplay({state:!1})}),bt(()=>v.init())}destroySwiper(){if(this.swiper)try{this.swiper.destroy()}catch{}finally{this.swiper=null}}toggleAutoplay({state:t}){let{swiper:e,options:i}=this;if(!e||!i.autoplay||!e.autoplay)return!1;this.preventAutoplay&&(t=!1);let s=e.autoplay.running;t&&!s&&e.autoplay.start(),!t&&s&&e.autoplay.stop()}slideTo(t,e=!0){if(!this.swiper){this.initialSlide=t;return}let i=this.swiper.params.loop;typeof this.swiper.realIndex<"u"&&this.swiper.realIndex!==t&&(i?this.swiper.slideToLoop(t,e?null:0):this.swiper.slideTo(t,e?this.swiper.params.speed:0))}setSliderSize(){let t=this.$component.find(".swiper");if(!t.length)return;let e=t[0];e.style.width="";let i=e.getBoundingClientRect().width,s=e.offsetWidth;if(i%1>0&&Math.abs(s-i)<2){e.style.width=`${Math.round(i)}px`;try{this.swiper.update()}catch{}}}setThumbnailsSize(){if(!this.thumbsSwiper||this.options.paginationType!=="thumbs")return;let t=this.options.direction==="horizontal",e=$(this.paginationEl),i=e.find(".thumb-item"),s=2,a=i.length,n=this.thumbsSwiper.params.slidesPerView;e.add(i).css({"--thumbSize":"","--thumbPad":"",width:"",height:""});let o=parseInt(i.css("--thumbPad"),10),l=t?e[0].offsetWidth:e[0].offsetHeight,r=t?i[0].offsetWidth:i[0].offsetHeight,d=Math.max(s,Math.round(l/(r+o)));a>=s&&(a===d+1||a===d-1)?d=a:n&&(n===d+1||n===d-1)&&(d=n),e.toggleClass("is-filled",a>=d),this.thumbsSwiper.params.slidesPerView=d,this.thumbsSwiper.params.spaceBetween=o,this.thumbsSwiper.update(),this.thumbsSwiper.slides.forEach(c=>{c.style.setProperty("--thumbSize",`${c.swiperSlideSize}px`)})}};var K=class{inited=!1;loaded=!1;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.target=t.target}async init(){this.inited=!0,await this.whenLoaded(),this.loaded=!0}destroy(){this.abortController.abort(),this.destroyed=!0}whenLoaded(t=()=>{}){return new Promise(e=>{if(this.loaded){t(),e();return}if(this.type==="video")this.loaded=!0,t(),e();else{let i=!1,s=setTimeout(()=>{this.loaded=!0,i||(i=!0,t(),e())},1e3);$(this.target).one("load",()=>{clearTimeout(s),this.loaded=!0,i||(i=!0,t(),e())})}})}async play(){}pause(){}onLoadData(){this.options.onLoadData?.()}onPlay(){this.options.onPlay?.()}onPause(t){this.options.onPause?.(t)}onError(t){this.options.onError?.(t)}},dt=class extends K{type="embed";async init(){let t=this.target;if(!t)return;let e=t.getAttribute("data-src"),i=t.getAttribute("src");e&&!i&&(t.src=e),this.inited=!0,await this.whenLoaded(),this.loaded=!0}async play(){await this.whenLoaded(),this.target.contentWindow?.postMessage("play","*")}async pause(){this.target.contentWindow?.postMessage("pause","*")}},qe=class extends K{type="embed";async init(){let t=this.target,e=t.getAttribute("data-src"),i=t.getAttribute("src"),s=a=>{(a===window.YT.PlayerState.BUFFERING||a===window.YT.PlayerState.PLAYING)&&this.onLoadData(),a===window.YT.PlayerState.PLAYING?this.onPlay():(a===window.YT.PlayerState.PAUSED||a===window.YT.PlayerState.ENDED)&&this.onPause()};e&&!i&&(t.src=e),this.inited=!0,await this.whenLoaded(),flexbe_cli.require([`https://www.youtube.com/iframe_api?origin=${window.location.host}`],()=>{this.destroyed||!this.target.isConnected||k(()=>window.YT?.Player,()=>{this.ytVideo=new window.YT.Player(t,{events:{onStateChange:a=>s(a.data),onReady:()=>s(this.ytVideo.getPlayerState())}})})}),this.loaded=!0}async play(){await this.whenLoaded(),this.target.contentWindow?.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}async pause(){this.target.contentWindow?.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}},Ne=class extends K{type="embed";async init(){let t=this.target,e=t.getAttribute("data-src"),i=t.getAttribute("src");e&&!i&&(t.src=e),this.inited=!0,await this.whenLoaded(),flexbe_cli.require(["https://player.vimeo.com/api/player.js"],()=>{this.destroyed||!this.target.isConnected||(this.vPlayer=new window.Vimeo.Player(t),this.vPlayer.on("play",()=>this.onPlay()),this.vPlayer.on("pause",()=>this.onPause()))}),this.loaded=!0}async play(){await this.whenLoaded(),this.vPlayer&&this.vPlayer.play()}async pause(){this.vPlayer&&this.vPlayer.pause()}},He=class extends dt{type="embed";playerReady=!1;player;async init(){let t=this.target;if(!t)return;let e=t.src||t.dataset.src;this.inited=!0,this.loaded=!0,t.id=crypto.randomUUID();try{if(await flexbe_cli.require(["https://player.kinescope.io/latest/iframe.player.js"],null,5e3),this.destroyed||!t.isConnected)return;let i=Object.fromEntries(new URL(e).searchParams.entries());this.player=await Kinescope.IframePlayer.create(t.id,{url:e,playlist:[],behavior:{preload:"none",playsInline:!0,autoPlay:i.autoplay?"viewable":!1,autoPause:!1,localStorage:!1,loop:i.loop==="1",muted:i.muted==="1"},ui:{controls:i.controls!=="0",language:["ru","kk","be"].includes(flexbe_cli.vars.page.language)?"ru":"en"}}),this.player.on(Kinescope.IframePlayer.Events.Play,()=>this.onPlay()),this.player.on(Kinescope.IframePlayer.Events.Pause,()=>this.onPause())}catch(i){if(this.destroyed||!t||!t.isConnected)return;console.error(i),t.src!==e&&(t.src=e),await this.whenLoaded()}this.playerReady=!0}async destroy(){super.destroy(),this.player&&await this.player.destroy()}async play(){return new Promise(t=>{k(()=>this.playerReady,async()=>{await this.player?.play(),t()},7e3)})}async pause(){this.player&&await this.player.pause()}},We=class extends K{type="video";_wasClicked=!1;async init(){let t=this.target,e=t.poster||t.dataset.poster,i=t.getAttribute("data-src"),s=t.getAttribute("src");if(t.addEventListener("error",a=>this.onError(a.error)),t.addEventListener("loadeddata",this.onLoadData.bind(this)),t.addEventListener("playing",this.onPlay.bind(this)),t.addEventListener("pause",()=>{let a=this._wasClicked||t.currentTime===t.duration;this.onPause(a)}),t.addEventListener("pointerup",this.onClick.bind(this)),e&&(this.target.poster=e),i&&!s){let a=document.createElement("source");a.addEventListener("error",n=>this.onError(n.error||n)),a.setAttribute("type","video/mp4"),a.setAttribute("src",i),t.appendChild(a),t.load()}this.inited=!0,await this.whenLoaded(),this.loaded=!0}async play(){await this.whenLoaded(),await this.target.play()}async pause(){this.target.pause()}onClick(){this.target.paused||(this._wasClicked=!0,setTimeout(()=>{this._wasClicked=!1},100))}},Ue=class extends dt{playerReady=!1;async init(){await super.init();let t=e=>{let i=e.data;if(typeof i=="string")try{i=JSON.parse(e.data)}catch{}e.source===this.target.contentWindow&&(["player:ready","player:changeState"].includes(i.type)&&(this.playerReady=!0),i.type==="player:changeState"&&(i.data.state==="playing"?this.onPlay():i.data.state==="paused"&&this.onPause()))};window.addEventListener("message",t,{signal:this.abortController.signal})}async play(){this.command("player:mute"),this.command("player:setCurrentTime",{time:0}),this.command("player:play")}async pause(){this.command("player:pause")}command(t,e={}){k(()=>this.loaded&&this.playerReady,()=>{this.target.contentWindow?.postMessage(JSON.stringify({type:t,data:e}),"*")})}},jt=class extends w{static is="video";constructor(...t){super(...t);let e;switch(this.$preview=this.$component.find(".component-video__preview"),this.$iframe=this.$component.find("iframe"),this.$video=this.$component.find("video.custom-video"),this.type=this.$component.data("type"),this.autoplay=!!+this.$component.data("autoplay"),this.autoInit=this.autoplay||!this.$preview.length||this.$preview.hasClass("no-image"),this.type){case"custom":e=We;break;case"youtube":e=qe;break;case"vimeo":e=Ne;break;case"kinescope":e=He;break;case"rutube":e=Ue;break;default:e=dt}this.provider=new e({target:this.type==="custom"?this.$video[0]:this.$iframe[0],onPlay:this.onPlay.bind(this),onPause:this.onPause.bind(this),onError:this.onError.bind(this),onLoadData:this.onLoadData.bind(this)}),this.$preview.removeAttr("hidden"),this.$preview.on("click",async()=>{await this.#t(),await this.play(!0)}),this.$component.off("sliderActivate").on("sliderActivate",async()=>{this.preventAutoplay=!1,this.inScreen&&this.autoInit&&(await this.#t(),this.autoplay&&await this.play())}),this.$component.off("sliderDeactivate").on("sliderDeactivate",async()=>{this.preventAutoplay=!0,await this.pause()})}onDestroy(){this.provider.destroy()}async onScreen({state:t}){t?(this.autoInit&&await this.#t(),this.autoplay&&!this.preventAutoplay&&await this.play()):await this.pause()}async#t(){this.provider.inited||(this.$component.addClass("loading"),await this.provider.init(),this.$component.removeClass("loading"),this.$component.addClass("loaded"))}async play(t=!1){this.isAutoplaying=!t,this.isPaused=!1,this.$preview.off("click").addClass("preloading");try{await this.provider.play(),this.$preview.fadeOut(150,()=>{this.$preview.remove(),this.$component.removeClass("overlayed")})}catch(e){console.warn(e)}}async pause(){this.isAutoplaying=!1,this.isPaused=!0;try{await this.provider.pause()}catch{}}onPlay(){this.isPaused=!1,this.preventAutoplay=!1,!this.autoplay&&!flexbe_cli.is_admin&&flexbe_cli.resize.responsiveMode==="mobile"&&this.component.closest('[data-hidden="desktop"]')&&(this.viewportLocked=!0,flexbe_cli.resize.lockMode(!0)),(!this.autoplay||!this.isAutoplaying)&&(this.sliderAutoplayPrevented=!0,this.$component.trigger("reduceSliderControls",{state:!0}))}onPause(t=this.inScreen){this.isPaused=!0,t&&(this.preventAutoplay=!0),this.viewportLocked&&(this.viewportLocked=!1,flexbe_cli.resize.lockMode(!1)),this.sliderAutoplayPrevented&&(this.sliderAutoplayPrevented=!1,this.$component.trigger("reduceSliderControls",{state:!1}))}onError(t){console.error(t)}onLoadData(t){this.$component.addClass("started")}};flexbe_cli.entity.setClientJs("element","media01",{components:[q,jt,Ut]});var Yt=class{inited=!1;interacted=!1;opts;$area;uidAttr;classContainer;activeUid;$activeTab;$activeSection;$mainContainer;$tabsContainer;$tabsList;$swiperHelper;$tabs;$sections;get isOnScreen(){if(!this.$tabsList)return!1;let{top:t,height:e}=this.$tabsList[0].getBoundingClientRect();return t>0&&t+ethis.selectTabFromTarget(e.target))}initTabs(){if(this.$mainContainer=this.classContainer==="self"?this.$area:this.$area.find(this.classContainer),this.$tabsContainer=this.$area.find(".container-tabs"),this.$tabsList=this.$area.find('[role="tablist"]'),this.$swiperHelper=this.$area.find(".tab-swiper-helper"),this.inited=!!this.$tabsList.length,!!this.inited&&(this.$tabs=this.$tabsList.find('[role="tab"]'),this.$sections=this.$mainContainer.find('[role="tabpanel"]'),flexbe_cli.is_admin&&this.normalizeLines(),setTimeout(()=>{this.$mainContainer.addClass("main-area--tabs-inited")},50),this.$tabsContainer.on("click",".tab",t=>{let e=$(t.currentTarget).closest(`[${this.uidAttr}]`).attr(`${this.uidAttr}`);e&&this.selectTab(e)}),this.$tabsList.on("wheel",t=>{let e=this.$tabsList[0],i=t.originalEvent.wheelDeltaX,s=t.originalEvent.wheelDeltaY;e.scrollWidth<=e.clientWidth||s<0&&e.scrollLeft===0||s>0&&e.scrollLeft===e.scrollWidth-e.clientWidth||flexbe_cli.run.is_pointer&&!i&&s&&(t.preventDefault(),e.scrollLeft+=s)}),this.$tabsList.on("touchstart",()=>{this.interacted=!0,this.destroySwipeAnimation()}),flexbe_cli.is_admin)){let t;this.$tabsContainer.on("mouseenter",".tab",e=>{e.buttons===1&&document.body.classList.contains("state--in-move")&&(clearTimeout(t),t=setTimeout(()=>{let i=$(e.target).closest(`[${this.uidAttr}]`).attr(`${this.uidAttr}`);this.selectTab(i)},700))}),this.$tabsContainer.on("mouseleave",".tab",()=>{clearTimeout(t)})}}swipeAnimationController(){if(!this.inited)return;let t=this.$tabsList[0]&&this.$tabsList[0].scrollWidth>this.$tabsList[0].clientWidth,e=this.isOnScreen;t&&e?this.initSwiperAnimation():e||this.destroySwipeAnimation()}initSwiperAnimation(){!this.$swiperHelper.hasClass("show")&&!this.interacted&&this.$swiperHelper.addClass("show")}destroySwipeAnimation(){this.$swiperHelper.hasClass("show")&&this.$swiperHelper.removeClass("show")}selectTabFromIndex(t){let e=this.$tabs.get(t);this.selectTabFromTarget(e)}selectTabFromTarget(t){let e=$(t).closest(`[${this.uidAttr}]`).attr(`${this.uidAttr}`);this.selectTab(e)}selectTab(t,{force:e}={}){if(!t||!e&&this.activeUid===t)return;this.inited||this.initTabs();let i=this.$tabs?.filter(`[${this.uidAttr}="${t}"]`)??[];if(!i.length)return;let s=this.$sections.filter(".active"),a=s[0]&&s[0].offsetTop,n=this.$sections.filter(`[${this.uidAttr}="${t}"]`);this.scrollToTab(i),this.$tabs.removeClass("active").attr("aria-selected",!1).attr("tabindex",-1),i.addClass("active").attr("aria-selected",!0).attr("tabindex",0),this.$sections.removeClass("active").prop("hidden",!0),n.addClass("active").prop("hidden",!1);let o=n[0]&&n[0].offsetTop;if(this.activeUid=t,this.$activeTab=i,this.$activeSection=n,s[0].dispatchEvent(new CustomEvent("element-become-hidden")),n[0].dispatchEvent(new CustomEvent("element-become-visible")),typeof this.opts.onSelectTab=="function"&&this.opts.onSelectTab({uid:t,$tab:i}),!flexbe_cli.run.is_mobile&&a!=null&&o!=null&&Math.abs(a-o)>0&&typeof anime<"u"){let l=this.$mainContainer,r=a-o;l.css("will-change","transform"),anime({targets:l[0],translateY:[r,0],duration:250,easing:"easeOutCubic",complete:()=>{l.css({transform:"","will-change":""})}})}}normalizeLines(){if(!this.inited)return;let t,e=this.$tabs;this.$tabsList.find(".tab-spacer").remove(),e.removeClass("first-in-line last-in-line"),e.first().addClass("first-in-line"),e.last().addClass("last-in-line"),e.each((i,s)=>{t&&t.offsetTop!==s.offsetTop&&($(s).addClass("first-in-line"),$(t).addClass("last-in-line"),$(t).after('')),t=s})}scrollToTab(t){if(!this.inited)return;let e=this.$tabsList,i=e[0].scrollWidth;if(i>e[0].offsetWidth){let s=t[0].offsetLeft,a=t[0].getBoundingClientRect(),n=flexbe_cli.resize.viewportWidth,o;a.width>n||a.left<20?o=s-20:a.right>n-20&&(o=s-(n-20-a.width)),o!=null&&(o=Math.max(0,Math.min(i-n,o)),e.animate({scrollLeft:o},{duration:250}))}}resetHash(){this.inited&&String(window.location.hash).replace(/^#{1,2}(tab)?/,"")===this.activeUid&&(flexbe_cli.lockPopstate=!0,window.history.replaceState(null,null,window.location.pathname),flexbe_cli.lockPopstate=!1)}};flexbe_cli.entity.setClientJs("block","BUNDLE",{components:[R],tabsController:void 0,shouldInitTabs:!0,onUpdate({templateRendered:t,reasonData:e}){t&&(this.shouldInitTabs=!0),["create","copy"].includes(e.source)&&requestAnimationFrame(()=>this.tabsController.selectTabFromIndex(e.to))},onResize(){this.tabsController&&this.tabsController.normalizeLines()},onBeside({state:t}){t&&this.shouldInitTabs&&this.createTabs()},onScreen({state:t}){this.tabsController&&(t||(this.tabsController.swipeAnimationController(),this.tabsController.resetHash()))},onFocus({state:t}){this.tabsController&&t&&this.tabsController.swipeAnimationController()},createTabs(){if(this.shouldInitTabs=!1,!this.$area.find('[role="tabpanel"]').length){this.tabsController=null;return}this.tabsController=new Yt({$area:this.$area,classContainer:".main-area",activeUid:this.selectedTabUid,onSelectTab:({uid:t})=>{this.selectedTabUid=t,this.updateTween()}})}});flexbe_cli.entity.setClientJs("block","FREE",{components:[R]});var Gt=class extends H{static is="button"};flexbe_cli.entity.setClientJs("element","button01",{components:[Gt,U],isPure:!0});